fitness lmer model
- Mixed effect model run to get the family level blups for use in the MCMC run.
- Garden is set as the fixed effect.
- Family and mBed (5 beds x 3 sites) set as random effect.
- Height growth for a season is used as the fitness proxy to compare the adaptive nature of trait plasticity.
- This helps in explaining whether the change in plasticity for a trait (positive/negative) is adaptive (top right of the plot) or maladaptive (bottom left of the plot).
# Creating mBed
fitness <- fitness %>% unite(mBed, Garden, Bed, sep = "_", remove = FALSE)
# lmer model for family blup
fitness_mod <- lmer(Growth ~ Garden + (1|mBed) + (1|Family), fitness)
# extract the blups for the family from the model
fitness_blup <- ranef(fitness_mod)
fitness_blup <- fitness_blup$Family
fitness_blup <- cbind(Family=rownames(fitness_blup),fitness_blup)
rownames(fitness_blup) <- NULL
names(fitness_blup)[2] <- "fitness"
Trait plasticity
- Trait values selected are based on climate transfer distance between the source and site.
- The garden sites closest to the source of an individual based on their MAT is considered as home.
- The garden sites farthest from the source of an individual based on their MAT is considered as away.
\[Plasticity = (trait@home - trait@away ) / (trait@home)\]
MCMC model
- The scaled family blups of the traits are used as input MCMC run.
- Random effect of Population accounted for in this model.
trait1_trait2_fam_blup_pop_corr <- MCMCglmm(cbind(scale(fitness),scale(plasticity)) ~ trait - 1,
random=~us(trait):Population,
rcov=~us(trait):units, # or idh
family=c("gaussian","gaussian"),
prior=prior_corr,
# pedigree=Ped,
data=bs_19_gw_19,
pr=TRUE,
verbose=TRUE,
nitt=10000000,
burnin=10000,
thin=1000)
gw - growth
bb - budbreak
bs - budset
B - lmer family blups (means)
P - plasticity value for the trait
suppressPackageStartupMessages({
require(ggplot2)
require(lmerTest)
require(dplyr)
require(tidyr)
require(MCMCglmm)
require(plyr)
require(viridis)
require(sjPlot)
require(sjmisc)
})
## Warning: package 'viridis' was built under R version 4.0.5
## Warning: package 'viridisLite' was built under R version 4.0.5
# setwd("Z:/Anoob/MCMCglmm")
# exome data
exome_meta <- read.table("./Exome/RS_Exome_metadata.txt", sep="\t", header = T)
# climateNA
Population_climateNA <- read.csv("./ClimateNA/Family/PCA_sprucePops.txt", header=T, sep="\t")
colnames(Population_climateNA)[colnames(Population_climateNA)=="PC1_sel"] <- "PC1"
Family_climateNA <- read.csv("./ClimateNA/Family/PCA_spruceFams.txt", header=T, sep="\t")
colnames(Family_climateNA)[colnames(Family_climateNA)=="PC1_sel"] <- "PC1"
budset_2019 <- read.csv("./trait_data/BudSet_2019.csv")
budset_2020 <- read.csv("./trait_data/BudSet_2020.csv")
budbreak_2020 <- read.csv("./trait_data/BudBreak_2020_cGDD.csv")
heightGrowth_2019 <- read.csv("./trait_data/Growth_2019.csv")
heightGrowth_2020 <- read.csv("./trait_data/Growth_2020.csv")
Plasticity <- read.csv("./trait_data/Plasticity_TD.csv")
# Region palette
reg_palette <- c("goldenrod2","green2","steelblue")
# read the output
gw_19_B_gw_19_P_corr <- readRDS("./plasticity_outputs/gw_19_B_gw_19_P_corr")
# plot(gw_19_B_gw_19_P_corr)
summary(gw_19_B_gw_19_P_corr)
##
## Iterations = 10001:9999001
## Thinning interval = 1000
## Sample size = 9990
##
## DIC: 1753.569
##
## G-structure: ~us(trait):Population
##
## post.mean l-95% CI u-95% CI
## traitHeight_Growth:traitHeight_Growth.Population 0.42119 2.450e-01 0.6237
## traitPlasticity:traitHeight_Growth.Population 0.06976 -1.580e-02 0.1619
## traitHeight_Growth:traitPlasticity.Population 0.06976 -1.580e-02 0.1619
## traitPlasticity:traitPlasticity.Population 0.04918 4.809e-08 0.1220
## eff.samp
## traitHeight_Growth:traitHeight_Growth.Population 9682
## traitPlasticity:traitHeight_Growth.Population 9990
## traitHeight_Growth:traitPlasticity.Population 9990
## traitPlasticity:traitPlasticity.Population 9990
##
## R-structure: ~us(trait):units
##
## post.mean l-95% CI u-95% CI
## traitHeight_Growth:traitHeight_Growth.units 0.5883 0.49345 0.6907
## traitPlasticity:traitHeight_Growth.units 0.1583 0.06447 0.2523
## traitHeight_Growth:traitPlasticity.units 0.1583 0.06447 0.2523
## traitPlasticity:traitPlasticity.units 0.9689 0.81522 1.1317
## eff.samp
## traitHeight_Growth:traitHeight_Growth.units 9990
## traitPlasticity:traitHeight_Growth.units 10767
## traitHeight_Growth:traitPlasticity.units 10767
## traitPlasticity:traitPlasticity.units 9990
##
## Location effects: cbind(scale(Height_Growth), scale(Plasticity)) ~ trait - 1
##
## post.mean l-95% CI u-95% CI eff.samp pMCMC
## traitHeight_Growth -0.010727 -0.186568 0.175176 9990 0.892
## traitPlasticity -0.006305 -0.125785 0.112458 9990 0.917
effectiveSize(gw_19_B_gw_19_P_corr$VCV)
## traitHeight_Growth:traitHeight_Growth.Population
## 9682.274
## traitPlasticity:traitHeight_Growth.Population
## 9990.000
## traitHeight_Growth:traitPlasticity.Population
## 9990.000
## traitPlasticity:traitPlasticity.Population
## 9990.000
## traitHeight_Growth:traitHeight_Growth.units
## 9990.000
## traitPlasticity:traitHeight_Growth.units
## 10766.702
## traitHeight_Growth:traitPlasticity.units
## 10766.702
## traitPlasticity:traitPlasticity.units
## 9990.000
heidel.diag(gw_19_B_gw_19_P_corr$VCV)
##
## Stationarity start p-value
## test iteration
## traitHeight_Growth:traitHeight_Growth.Population passed 1 0.448
## traitPlasticity:traitHeight_Growth.Population passed 1 0.708
## traitHeight_Growth:traitPlasticity.Population passed 1 0.708
## traitPlasticity:traitPlasticity.Population passed 1 0.118
## traitHeight_Growth:traitHeight_Growth.units passed 1 0.655
## traitPlasticity:traitHeight_Growth.units passed 1 0.949
## traitHeight_Growth:traitPlasticity.units passed 1 0.949
## traitPlasticity:traitPlasticity.units passed 1 0.697
##
## Halfwidth Mean Halfwidth
## test
## traitHeight_Growth:traitHeight_Growth.Population passed 0.4212 0.001980
## traitPlasticity:traitHeight_Growth.Population passed 0.0698 0.000926
## traitHeight_Growth:traitPlasticity.Population passed 0.0698 0.000926
## traitPlasticity:traitPlasticity.Population passed 0.0492 0.000737
## traitHeight_Growth:traitHeight_Growth.units passed 0.5883 0.001009
## traitPlasticity:traitHeight_Growth.units passed 0.1583 0.000899
## traitHeight_Growth:traitPlasticity.units passed 0.1583 0.000899
## traitPlasticity:traitPlasticity.units passed 0.9689 0.001592
# family level correaltion
cor.test(gw_19_B_gw_19_P_corr$VCV[,"traitPlasticity:traitPlasticity.units"],gw_19_B_gw_19_P_corr$VCV[,"traitHeight_Growth:traitHeight_Growth.units"])
##
## Pearson's product-moment correlation
##
## data: gw_19_B_gw_19_P_corr$VCV[, "traitPlasticity:traitPlasticity.units"] and gw_19_B_gw_19_P_corr$VCV[, "traitHeight_Growth:traitHeight_Growth.units"]
## t = 5.6378, df = 9988, p-value = 1.769e-08
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.03675333 0.07584872
## sample estimates:
## cor
## 0.05632261
# blups for height growth
heightGrowth_2019_2 <- heightGrowth_2019
heightGrowth_2019_2 <- heightGrowth_2019_2%>% unite(mBed, Garden, Bed, sep = "_", remove = FALSE)
HeightGrowth_2019_mod <- lmer(Growth ~ Garden + (1|mBed) + (1|Family), heightGrowth_2019_2)
HeightGrowth_2019_blup <- ranef(HeightGrowth_2019_mod)
HeightGrowth_2019_blup <- HeightGrowth_2019_blup$Family
HeightGrowth_2019_blup <- cbind(Family=rownames(HeightGrowth_2019_blup),HeightGrowth_2019_blup)
rownames(HeightGrowth_2019_blup) <- NULL
names(HeightGrowth_2019_blup)[2] <- "Height_Growth"
# plasticity based on height growth
HeightGrowth_2019_blup <- merge(x=HeightGrowth_2019_blup,
y=Plasticity[,c("Family","growth2019_Plasticity")],
by="Family")
# rename plasticity column
colnames(HeightGrowth_2019_blup)[colnames(HeightGrowth_2019_blup)=="growth2019_Plasticity"] <- "Plasticity"
# remove NAs
HeightGrowth_2019_blup <- HeightGrowth_2019_blup[!is.na(HeightGrowth_2019_blup$Plasticity),]
# Population column creation
HeightGrowth_2019_blup$Population <- gsub("\\_.*", "", HeightGrowth_2019_blup$Family)
# merge climateNA data
HeightGrowth_2019_blup <- merge(x=HeightGrowth_2019_blup,
y=Family_climateNA[,c("Population","PC1","MAT")],
by="Population")
# merge Region data
HeightGrowth_2019_blup <- merge(x=HeightGrowth_2019_blup,
y=heightGrowth_2019[,c("Population","Region")],
by="Population")
# reorder regions
HeightGrowth_2019_blup$Region <- factor(HeightGrowth_2019_blup$Region,levels = c("Core", "Margin", "Edge"))
HeightGrowth_2019_blup <- distinct(HeightGrowth_2019_blup)
HeightGrowth_2019_blup$Abs_P <- abs(HeightGrowth_2019_blup$Plasticity)
HeightGrowth_2019_blup$Population <- as.factor(HeightGrowth_2019_blup$Population)
HeightGrowth_2019_pop <- HeightGrowth_2019_blup %>%
select(Population, Height_Growth, Plasticity, Region) %>%
group_by(Population) %>%
dplyr::summarise(Height_Growth = mean(Height_Growth), Plasticity = mean(Plasticity))
HeightGrowth_2019_pop <- merge(x=HeightGrowth_2019_pop,
y=Population_climateNA[,c("Population","PC1","MAT")],
by="Population")
HeightGrowth_2019_pop <- merge(x=HeightGrowth_2019_pop,
y=heightGrowth_2019[,c("Population","Region")],
by="Population")
# reorder regions
HeightGrowth_2019_pop$Region <- factor(HeightGrowth_2019_pop$Region,levels = c("Core", "Margin", "Edge"))
HeightGrowth_2019_pop <- distinct(HeightGrowth_2019_pop)
HeightGrowth_2019_pop$Abs_P <- abs(HeightGrowth_2019_pop$Plasticity)
HeightGrowth_2019_fam_abs_mod <- lm(Height_Growth ~ Abs_P + Region + Abs_P*Region,
data=HeightGrowth_2019_blup)
summary(HeightGrowth_2019_fam_abs_mod)
##
## Call:
## lm(formula = Height_Growth ~ Abs_P + Region + Abs_P * Region,
## data = HeightGrowth_2019_blup)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.0671 -1.4276 -0.1057 1.2124 5.9482
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.1930 0.1063 -11.227 < 2e-16 ***
## Abs_P 0.2396 0.7168 0.334 0.738
## RegionMargin 3.0832 0.2346 13.144 < 2e-16 ***
## RegionEdge 1.5058 0.1799 8.368 < 2e-16 ***
## Abs_P:RegionMargin 2.0211 1.2399 1.630 0.103
## Abs_P:RegionEdge 4.4232 1.1320 3.907 9.66e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.959 on 1851 degrees of freedom
## Multiple R-squared: 0.3375, Adjusted R-squared: 0.3357
## F-statistic: 188.6 on 5 and 1851 DF, p-value: < 2.2e-16
HeightGrowth_2019_pop_abs_mod <- lm(Height_Growth ~ Abs_P + Region + Abs_P*Region,
data=HeightGrowth_2019_pop)
summary(HeightGrowth_2019_pop_abs_mod)
##
## Call:
## lm(formula = Height_Growth ~ Abs_P + Region + Abs_P * Region,
## data = HeightGrowth_2019_pop)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.5816 -0.5915 -0.1695 0.4992 3.6011
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.8270 0.3585 -2.307 0.0246 *
## Abs_P -5.9799 4.2799 -1.397 0.1676
## RegionMargin 1.9152 0.7328 2.614 0.0114 *
## RegionEdge 1.0089 0.5690 1.773 0.0814 .
## Abs_P:RegionMargin 14.2199 6.8314 2.082 0.0417 *
## Abs_P:RegionEdge 13.1240 5.9377 2.210 0.0310 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.09 on 59 degrees of freedom
## Multiple R-squared: 0.6146, Adjusted R-squared: 0.582
## F-statistic: 18.82 on 5 and 59 DF, p-value: 3.868e-11
# read the output
gw_20_B_gw_20_P_corr <- readRDS("./plasticity_outputs/gw_20_B_gw_20_P_corr")
# plot(gw_20_B_gw_20_P_corr)
summary(gw_20_B_gw_20_P_corr)
##
## Iterations = 10001:9999001
## Thinning interval = 1000
## Sample size = 9990
##
## DIC: 1533.143
##
## G-structure: ~us(trait):Population
##
## post.mean l-95% CI u-95% CI
## traitHeight_Growth:traitHeight_Growth.Population 0.5452 0.3398 0.7758
## traitPlasticity:traitHeight_Growth.Population -0.3122 -0.4683 -0.1744
## traitHeight_Growth:traitPlasticity.Population -0.3122 -0.4683 -0.1744
## traitPlasticity:traitPlasticity.Population 0.2746 0.1440 0.4283
## eff.samp
## traitHeight_Growth:traitHeight_Growth.Population 9990
## traitPlasticity:traitHeight_Growth.Population 9990
## traitHeight_Growth:traitPlasticity.Population 9990
## traitPlasticity:traitPlasticity.Population 10439
##
## R-structure: ~us(trait):units
##
## post.mean l-95% CI u-95% CI
## traitHeight_Growth:traitHeight_Growth.units 0.4356 0.3594 0.5074
## traitPlasticity:traitHeight_Growth.units -0.2281 -0.3020 -0.1581
## traitHeight_Growth:traitPlasticity.units -0.2281 -0.3020 -0.1581
## traitPlasticity:traitPlasticity.units 0.7235 0.6096 0.8501
## eff.samp
## traitHeight_Growth:traitHeight_Growth.units 9990
## traitPlasticity:traitHeight_Growth.units 9990
## traitHeight_Growth:traitPlasticity.units 9990
## traitPlasticity:traitPlasticity.units 9990
##
## Location effects: cbind(scale(Height_Growth), scale(Plasticity)) ~ trait - 1
##
## post.mean l-95% CI u-95% CI eff.samp pMCMC
## traitHeight_Growth -0.00352 -0.19889 0.18773 9990 0.974
## traitPlasticity 0.01581 -0.13854 0.16635 9990 0.842
effectiveSize(gw_20_B_gw_20_P_corr$VCV)
## traitHeight_Growth:traitHeight_Growth.Population
## 9990.00
## traitPlasticity:traitHeight_Growth.Population
## 9990.00
## traitHeight_Growth:traitPlasticity.Population
## 9990.00
## traitPlasticity:traitPlasticity.Population
## 10439.38
## traitHeight_Growth:traitHeight_Growth.units
## 9990.00
## traitPlasticity:traitHeight_Growth.units
## 9990.00
## traitHeight_Growth:traitPlasticity.units
## 9990.00
## traitPlasticity:traitPlasticity.units
## 9990.00
heidel.diag(gw_20_B_gw_20_P_corr$VCV)
##
## Stationarity start p-value
## test iteration
## traitHeight_Growth:traitHeight_Growth.Population passed 1 0.8162
## traitPlasticity:traitHeight_Growth.Population passed 1 0.7910
## traitHeight_Growth:traitPlasticity.Population passed 1 0.7910
## traitPlasticity:traitPlasticity.Population passed 1 0.3849
## traitHeight_Growth:traitHeight_Growth.units passed 1 0.0789
## traitPlasticity:traitHeight_Growth.units passed 1 0.1533
## traitHeight_Growth:traitPlasticity.units passed 1 0.1533
## traitPlasticity:traitPlasticity.units passed 1 0.3743
##
## Halfwidth Mean Halfwidth
## test
## traitHeight_Growth:traitHeight_Growth.Population passed 0.545 0.002236
## traitPlasticity:traitHeight_Growth.Population passed -0.312 0.001540
## traitHeight_Growth:traitPlasticity.Population passed -0.312 0.001540
## traitPlasticity:traitPlasticity.Population passed 0.275 0.001429
## traitHeight_Growth:traitHeight_Growth.units passed 0.436 0.000743
## traitPlasticity:traitHeight_Growth.units passed -0.228 0.000727
## traitHeight_Growth:traitPlasticity.units passed -0.228 0.000727
## traitPlasticity:traitPlasticity.units passed 0.723 0.001222
# family level correaltion
cor.test(gw_20_B_gw_20_P_corr$VCV[,"traitPlasticity:traitPlasticity.units"],gw_20_B_gw_20_P_corr$VCV[,"traitHeight_Growth:traitHeight_Growth.units"]) #0.161***
##
## Pearson's product-moment correlation
##
## data: gw_20_B_gw_20_P_corr$VCV[, "traitPlasticity:traitPlasticity.units"] and gw_20_B_gw_20_P_corr$VCV[, "traitHeight_Growth:traitHeight_Growth.units"]
## t = 16.323, df = 9988, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.1420304 0.1802316
## sample estimates:
## cor
## 0.1611914
# blups for height growth
heightGrowth_2020_2 <- heightGrowth_2020
heightGrowth_2020_2 <- heightGrowth_2020_2%>% unite(mBed, Garden, Bed, sep = "_", remove = FALSE)
HeightGrowth_2020_mod <- lmer(Growth ~ Garden + (1|mBed) + (1|Family), heightGrowth_2020_2)
HeightGrowth_2020_blup <- ranef(HeightGrowth_2020_mod)
HeightGrowth_2020_blup <- HeightGrowth_2020_blup$Family
HeightGrowth_2020_blup <- cbind(Family=rownames(HeightGrowth_2020_blup),HeightGrowth_2020_blup)
rownames(HeightGrowth_2020_blup) <- NULL
names(HeightGrowth_2020_blup)[2] <- "Height_Growth"
# plasticity based on height growth
HeightGrowth_2020_blup <- merge(x=HeightGrowth_2020_blup,
y=Plasticity[,c("Family","growth2020_Plasticity")],
by="Family")
# rename plasticity column
colnames(HeightGrowth_2020_blup)[colnames(HeightGrowth_2020_blup)=="growth2020_Plasticity"] <- "Plasticity"
# remove NAs
HeightGrowth_2020_blup <- HeightGrowth_2020_blup[!is.na(HeightGrowth_2020_blup$Plasticity),]
# Population column creation
HeightGrowth_2020_blup$Population <- gsub("\\_.*", "", HeightGrowth_2020_blup$Family)
# merge climateNA data
HeightGrowth_2020_blup <- merge(x=HeightGrowth_2020_blup,
y=Family_climateNA[,c("Population","PC1","MAT")],
by="Population")
# merge Region data
HeightGrowth_2020_blup <- merge(x=HeightGrowth_2020_blup,
y=heightGrowth_2020[,c("Population","Region")],
by="Population")
# reorder regions
HeightGrowth_2020_blup$Region <- factor(HeightGrowth_2020_blup$Region,levels = c("Core", "Margin", "Edge"))
HeightGrowth_2020_blup <- distinct(HeightGrowth_2020_blup)
HeightGrowth_2020_blup$Abs_P <- abs(HeightGrowth_2020_blup$Plasticity)
HeightGrowth_2020_blup$Population <- as.factor(HeightGrowth_2020_blup$Population)
HeightGrowth_2020_pop <- HeightGrowth_2020_blup %>%
select(Population, Height_Growth, Plasticity, Region) %>%
group_by(Population) %>%
dplyr::summarise(Height_Growth = mean(Height_Growth), Plasticity = mean(Plasticity))
HeightGrowth_2020_pop <- merge(x=HeightGrowth_2020_pop,
y=Population_climateNA[,c("Population","PC1","MAT")],
by="Population")
HeightGrowth_2020_pop <- merge(x=HeightGrowth_2020_pop,
y=heightGrowth_2019[,c("Population","Region")],
by="Population")
# reorder regions
HeightGrowth_2020_pop$Region <- factor(HeightGrowth_2020_pop$Region,levels = c("Core", "Margin", "Edge"))
HeightGrowth_2020_pop <- distinct(HeightGrowth_2020_pop)
HeightGrowth_2020_pop$Abs_P <- abs(HeightGrowth_2020_pop$Plasticity)
HeightGrowth_2020_fam_abs_mod <- lm(Height_Growth ~ Abs_P + Region + Abs_P*Region,
data=HeightGrowth_2020_blup)
summary(HeightGrowth_2020_fam_abs_mod)
##
## Call:
## lm(formula = Height_Growth ~ Abs_P + Region + Abs_P * Region,
## data = HeightGrowth_2020_blup)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.684 -1.310 -0.261 1.058 12.191
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.6521 0.1446 4.509 6.91e-06 ***
## Abs_P -7.5730 0.6531 -11.595 < 2e-16 ***
## RegionMargin 1.7665 0.2666 6.625 4.53e-11 ***
## RegionEdge 0.0441 0.2326 0.190 0.850
## Abs_P:RegionMargin 15.7558 1.2971 12.147 < 2e-16 ***
## Abs_P:RegionEdge -0.1710 1.1502 -0.149 0.882
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.285 on 1851 degrees of freedom
## Multiple R-squared: 0.4075, Adjusted R-squared: 0.4059
## F-statistic: 254.7 on 5 and 1851 DF, p-value: < 2.2e-16
HeightGrowth_2020_pop_abs_mod <- lm(Height_Growth ~ Abs_P + Region + Abs_P*Region,
data=HeightGrowth_2020_pop)
summary(HeightGrowth_2020_pop_abs_mod)
##
## Call:
## lm(formula = Height_Growth ~ Abs_P + Region + Abs_P * Region,
## data = HeightGrowth_2020_pop)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.8429 -0.7106 -0.1015 0.6963 5.1242
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.67350 0.60052 1.122 0.2666
## Abs_P -8.09963 3.17416 -2.552 0.0133 *
## RegionMargin -0.09816 0.94529 -0.104 0.9177
## RegionEdge 0.04229 0.92701 0.046 0.9638
## Abs_P:RegionMargin 34.29733 6.17130 5.558 6.92e-07 ***
## Abs_P:RegionEdge -0.06864 5.30693 -0.013 0.9897
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.345 on 59 degrees of freedom
## Multiple R-squared: 0.6628, Adjusted R-squared: 0.6342
## F-statistic: 23.19 on 5 and 59 DF, p-value: 8.407e-13
## Warning in geom2trace.default(dots[[1L]][[1L]], dots[[2L]][[1L]], dots[[3L]][[1L]]): geom_GeomCustomAnn() has yet to be implemented in plotly.
## If you'd like to see this geom implemented,
## Please open an issue with your example code at
## https://github.com/ropensci/plotly/issues
# read the output
gw_20_B_bb_20_P_corr <- readRDS("./plasticity_outputs/gw_20_B_bb_20_P_corr")
# plot(gw_20_B_bb_20_P_corr)
summary(gw_20_B_bb_20_P_corr)
##
## Iterations = 10001:9999001
## Thinning interval = 1000
## Sample size = 9990
##
## DIC: 1499.841
##
## G-structure: ~us(trait):Population
##
## post.mean
## traitHeight_Growth:traitHeight_Growth.Population 0.56847
## traitBudBreak2020_Plasticity:traitHeight_Growth.Population 0.09652
## traitHeight_Growth:traitBudBreak2020_Plasticity.Population 0.09652
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.Population 0.53166
## l-95% CI
## traitHeight_Growth:traitHeight_Growth.Population 0.34948
## traitBudBreak2020_Plasticity:traitHeight_Growth.Population -0.06707
## traitHeight_Growth:traitBudBreak2020_Plasticity.Population -0.06707
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.Population 0.32708
## u-95% CI
## traitHeight_Growth:traitHeight_Growth.Population 0.8027
## traitBudBreak2020_Plasticity:traitHeight_Growth.Population 0.2565
## traitHeight_Growth:traitBudBreak2020_Plasticity.Population 0.2565
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.Population 0.7698
## eff.samp
## traitHeight_Growth:traitHeight_Growth.Population 10307
## traitBudBreak2020_Plasticity:traitHeight_Growth.Population 10445
## traitHeight_Growth:traitBudBreak2020_Plasticity.Population 10445
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.Population 10016
##
## R-structure: ~us(trait):units
##
## post.mean
## traitHeight_Growth:traitHeight_Growth.units 0.43598
## traitBudBreak2020_Plasticity:traitHeight_Growth.units -0.06761
## traitHeight_Growth:traitBudBreak2020_Plasticity.units -0.06761
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.units 0.51857
## l-95% CI
## traitHeight_Growth:traitHeight_Growth.units 0.3625
## traitBudBreak2020_Plasticity:traitHeight_Growth.units -0.1262
## traitHeight_Growth:traitBudBreak2020_Plasticity.units -0.1262
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.units 0.4328
## u-95% CI
## traitHeight_Growth:traitHeight_Growth.units 0.50825
## traitBudBreak2020_Plasticity:traitHeight_Growth.units -0.01193
## traitHeight_Growth:traitBudBreak2020_Plasticity.units -0.01193
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.units 0.60764
## eff.samp
## traitHeight_Growth:traitHeight_Growth.units 9990
## traitBudBreak2020_Plasticity:traitHeight_Growth.units 9990
## traitHeight_Growth:traitBudBreak2020_Plasticity.units 9990
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.units 10716
##
## Location effects: cbind(scale(Height_Growth), scale(BudBreak2020_Plasticity)) ~ trait - 1
##
## post.mean l-95% CI u-95% CI eff.samp pMCMC
## traitHeight_Growth -0.006125 -0.192610 0.196113 9990 0.941
## traitBudBreak2020_Plasticity -0.005032 -0.197170 0.189663 10087 0.954
effectiveSize(gw_20_B_bb_20_P_corr$VCV)
## traitHeight_Growth:traitHeight_Growth.Population
## 10307.35
## traitBudBreak2020_Plasticity:traitHeight_Growth.Population
## 10444.74
## traitHeight_Growth:traitBudBreak2020_Plasticity.Population
## 10444.74
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.Population
## 10016.29
## traitHeight_Growth:traitHeight_Growth.units
## 9990.00
## traitBudBreak2020_Plasticity:traitHeight_Growth.units
## 9990.00
## traitHeight_Growth:traitBudBreak2020_Plasticity.units
## 9990.00
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.units
## 10715.83
heidel.diag(gw_20_B_bb_20_P_corr$VCV)
##
## Stationarity
## test
## traitHeight_Growth:traitHeight_Growth.Population passed
## traitBudBreak2020_Plasticity:traitHeight_Growth.Population passed
## traitHeight_Growth:traitBudBreak2020_Plasticity.Population passed
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.Population passed
## traitHeight_Growth:traitHeight_Growth.units passed
## traitBudBreak2020_Plasticity:traitHeight_Growth.units passed
## traitHeight_Growth:traitBudBreak2020_Plasticity.units passed
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.units passed
##
## start
## iteration
## traitHeight_Growth:traitHeight_Growth.Population 1
## traitBudBreak2020_Plasticity:traitHeight_Growth.Population 1
## traitHeight_Growth:traitBudBreak2020_Plasticity.Population 1
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.Population 1
## traitHeight_Growth:traitHeight_Growth.units 1
## traitBudBreak2020_Plasticity:traitHeight_Growth.units 1
## traitHeight_Growth:traitBudBreak2020_Plasticity.units 1
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.units 1
##
## p-value
##
## traitHeight_Growth:traitHeight_Growth.Population 0.910
## traitBudBreak2020_Plasticity:traitHeight_Growth.Population 0.376
## traitHeight_Growth:traitBudBreak2020_Plasticity.Population 0.376
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.Population 0.827
## traitHeight_Growth:traitHeight_Growth.units 0.743
## traitBudBreak2020_Plasticity:traitHeight_Growth.units 0.285
## traitHeight_Growth:traitBudBreak2020_Plasticity.units 0.285
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.units 0.556
##
## Halfwidth
## test
## traitHeight_Growth:traitHeight_Growth.Population passed
## traitBudBreak2020_Plasticity:traitHeight_Growth.Population passed
## traitHeight_Growth:traitBudBreak2020_Plasticity.Population passed
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.Population passed
## traitHeight_Growth:traitHeight_Growth.units passed
## traitBudBreak2020_Plasticity:traitHeight_Growth.units passed
## traitHeight_Growth:traitBudBreak2020_Plasticity.units passed
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.units passed
##
## Mean
##
## traitHeight_Growth:traitHeight_Growth.Population 0.5685
## traitBudBreak2020_Plasticity:traitHeight_Growth.Population 0.0965
## traitHeight_Growth:traitBudBreak2020_Plasticity.Population 0.0965
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.Population 0.5317
## traitHeight_Growth:traitHeight_Growth.units 0.4360
## traitBudBreak2020_Plasticity:traitHeight_Growth.units -0.0676
## traitHeight_Growth:traitBudBreak2020_Plasticity.units -0.0676
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.units 0.5186
##
## Halfwidth
##
## traitHeight_Growth:traitHeight_Growth.Population 0.002309
## traitBudBreak2020_Plasticity:traitHeight_Growth.Population 0.001571
## traitHeight_Growth:traitBudBreak2020_Plasticity.Population 0.001571
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.Population 0.002321
## traitHeight_Growth:traitHeight_Growth.units 0.000740
## traitBudBreak2020_Plasticity:traitHeight_Growth.units 0.000573
## traitHeight_Growth:traitBudBreak2020_Plasticity.units 0.000573
## traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.units 0.000845
# family level correaltion
cor.test(gw_20_B_bb_20_P_corr$VCV[,"traitHeight_Growth:traitHeight_Growth.units"],gw_20_B_bb_20_P_corr$VCV[,"traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.units"]) # 0.025 ns
##
## Pearson's product-moment correlation
##
## data: gw_20_B_bb_20_P_corr$VCV[, "traitHeight_Growth:traitHeight_Growth.units"] and gw_20_B_bb_20_P_corr$VCV[, "traitBudBreak2020_Plasticity:traitBudBreak2020_Plasticity.units"]
## t = 0.795, df = 9988, p-value = 0.4266
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.01165716 0.02756011
## sample estimates:
## cor
## 0.007954535
# blups for height growth
heightGrowth_2020_2 <- heightGrowth_2020
heightGrowth_2020_2 <- heightGrowth_2020_2 %>% unite(mBed, Garden, Bed, sep = "_", remove = FALSE)
HeightGrowth_2020_mod <- lmer(Growth ~ Garden + (1|mBed) + (1|Family), heightGrowth_2020_2)
HeightGrowth_2020_blup <- ranef(HeightGrowth_2020_mod)
HeightGrowth_2020_blup <- HeightGrowth_2020_blup$Family
HeightGrowth_2020_blup <- cbind(Family=rownames(HeightGrowth_2020_blup),HeightGrowth_2020_blup)
rownames(HeightGrowth_2020_blup) <- NULL
names(HeightGrowth_2020_blup)[2] <- "Height_Growth"
# plasticity based on budbreak 2020
gw_20_B_bb_20_P <- merge(x=HeightGrowth_2020_blup,
y=Plasticity[,c("Family","BudBreak2020_Plasticity")],
by="Family")
# rename plasticity column if needed
colnames(gw_20_B_bb_20_P)[colnames(gw_20_B_bb_20_P)=="BudBreak2020_Plasticity"] <- "BudBreak2020_Plasticity"
# remove NAs
gw_20_B_bb_20_P <- gw_20_B_bb_20_P[!is.na(gw_20_B_bb_20_P$BudBreak2020_Plasticity),]
# Population column creation
gw_20_B_bb_20_P$Population <- gsub("\\_.*", "", gw_20_B_bb_20_P$Family)
# merge climateNA data
gw_20_B_bb_20_P <- merge(x=gw_20_B_bb_20_P,
y=Family_climateNA[,c("Population","PC1","MAT")],
by="Population")
# merge Region data
gw_20_B_bb_20_P <- merge(x=gw_20_B_bb_20_P,
y=heightGrowth_2020[,c("Population","Region")],
by="Population")
# reorder regions
gw_20_B_bb_20_P$Region <- factor(gw_20_B_bb_20_P$Region,levels = c("Core", "Margin", "Edge"))
gw_20_B_bb_20_P <- distinct(gw_20_B_bb_20_P)
gw_20_B_bb_20_P$Abs_P <- abs(gw_20_B_bb_20_P$BudBreak2020_Plasticity)
gw_20_B_bb_20_P$Population <- as.factor(gw_20_B_bb_20_P$Population)
gw_20_B_bb_20_P_pop <- gw_20_B_bb_20_P %>%
select(Population, Height_Growth, BudBreak2020_Plasticity, Region) %>%
group_by(Population) %>%
dplyr::summarise(Height_Growth = mean(Height_Growth), BudBreak2020_Plasticity = mean(BudBreak2020_Plasticity))
gw_20_B_bb_20_P_pop <- merge(x=gw_20_B_bb_20_P_pop,
y=Population_climateNA[,c("Population","PC1","MAT")],
by="Population")
gw_20_B_bb_20_P_pop <- merge(x=gw_20_B_bb_20_P_pop,
y=heightGrowth_2019[,c("Population","Region")],
by="Population")
# reorder regions
gw_20_B_bb_20_P_pop$Region <- factor(gw_20_B_bb_20_P_pop$Region,levels = c("Core", "Margin", "Edge"))
gw_20_B_bb_20_P_pop <- distinct(gw_20_B_bb_20_P_pop)
gw_20_B_bb_20_P_pop$Abs_P <- abs(gw_20_B_bb_20_P_pop$BudBreak2020_Plasticity)
gw_20_B_bb_20_P_fam_abs_mod <- lm(Height_Growth ~ Abs_P + Region + Abs_P*Region,
data=gw_20_B_bb_20_P)
summary(gw_20_B_bb_20_P_fam_abs_mod)
##
## Call:
## lm(formula = Height_Growth ~ Abs_P + Region + Abs_P * Region,
## data = gw_20_B_bb_20_P)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.4924 -1.4494 -0.1458 1.0300 13.3634
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.0895 0.5968 -1.826 0.06807 .
## Abs_P 1.3640 2.7238 0.501 0.61659
## RegionMargin 7.5983 1.0407 7.301 4.22e-13 ***
## RegionEdge -1.1083 0.7921 -1.399 0.16191
## Abs_P:RegionMargin -14.4360 4.8446 -2.980 0.00292 **
## Abs_P:RegionEdge 5.7683 3.5254 1.636 0.10197
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.423 on 1851 degrees of freedom
## Multiple R-squared: 0.3336, Adjusted R-squared: 0.3318
## F-statistic: 185.3 on 5 and 1851 DF, p-value: < 2.2e-16
gw_20_B_bb_20_P_pop_abs_mod <- lm(Height_Growth ~ Abs_P + Region + Abs_P*Region,
data=gw_20_B_bb_20_P_pop)
summary(gw_20_B_bb_20_P_pop_abs_mod)
##
## Call:
## lm(formula = Height_Growth ~ Abs_P + Region + Abs_P * Region,
## data = gw_20_B_bb_20_P_pop)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.8268 -0.8999 0.0172 0.7340 4.8635
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.703 3.468 0.491 0.625168
## Abs_P -11.202 15.901 -0.704 0.483896
## RegionMargin 29.293 6.630 4.418 4.32e-05 ***
## RegionEdge -3.779 3.861 -0.979 0.331628
## Abs_P:RegionMargin -118.864 31.039 -3.829 0.000313 ***
## Abs_P:RegionEdge 18.036 17.530 1.029 0.307751
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.419 on 59 degrees of freedom
## Multiple R-squared: 0.6245, Adjusted R-squared: 0.5927
## F-statistic: 19.63 on 5 and 59 DF, p-value: 1.835e-11
# read the output
gw_19_B_bs_19_P_corr <- readRDS("./plasticity_outputs/gw_19_B_bs_19_P_corr")
# plot(gw_19_B_bs_19_P_corr)
summary(gw_19_B_bs_19_P_corr)
##
## Iterations = 10001:9999001
## Thinning interval = 1000
## Sample size = 9990
##
## DIC: 1567.656
##
## G-structure: ~us(trait):Population
##
## post.mean
## traitHeight_Growth:traitHeight_Growth.Population 0.45464
## traitBudSet2019_Plasticity:traitHeight_Growth.Population 0.07716
## traitHeight_Growth:traitBudSet2019_Plasticity.Population 0.07716
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.Population 0.41498
## l-95% CI
## traitHeight_Growth:traitHeight_Growth.Population 0.26663
## traitBudSet2019_Plasticity:traitHeight_Growth.Population -0.06543
## traitHeight_Growth:traitBudSet2019_Plasticity.Population -0.06543
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.Population 0.21808
## u-95% CI
## traitHeight_Growth:traitHeight_Growth.Population 0.6781
## traitBudSet2019_Plasticity:traitHeight_Growth.Population 0.2264
## traitHeight_Growth:traitBudSet2019_Plasticity.Population 0.2264
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.Population 0.6227
## eff.samp
## traitHeight_Growth:traitHeight_Growth.Population 9366
## traitBudSet2019_Plasticity:traitHeight_Growth.Population 9990
## traitHeight_Growth:traitBudSet2019_Plasticity.Population 9990
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.Population 9204
##
## R-structure: ~us(trait):units
##
## post.mean l-95% CI
## traitHeight_Growth:traitHeight_Growth.units 0.57166 0.47278
## traitBudSet2019_Plasticity:traitHeight_Growth.units 0.01545 -0.05985
## traitHeight_Growth:traitBudSet2019_Plasticity.units 0.01545 -0.05985
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.units 0.63837 0.52575
## u-95% CI eff.samp
## traitHeight_Growth:traitHeight_Growth.units 0.67186 9178
## traitBudSet2019_Plasticity:traitHeight_Growth.units 0.08786 9990
## traitHeight_Growth:traitBudSet2019_Plasticity.units 0.08786 9990
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.units 0.75016 9990
##
## Location effects: cbind(scale(Height_Growth), scale(BudSet2019_Plasticity)) ~ trait - 1
##
## post.mean l-95% CI u-95% CI eff.samp pMCMC
## traitHeight_Growth -0.01686 -0.20599 0.17494 9514 0.863
## traitBudSet2019_Plasticity -0.02018 -0.20240 0.16871 9990 0.825
effectiveSize(gw_19_B_bs_19_P_corr$VCV)
## traitHeight_Growth:traitHeight_Growth.Population
## 9366.007
## traitBudSet2019_Plasticity:traitHeight_Growth.Population
## 9990.000
## traitHeight_Growth:traitBudSet2019_Plasticity.Population
## 9990.000
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.Population
## 9203.682
## traitHeight_Growth:traitHeight_Growth.units
## 9177.514
## traitBudSet2019_Plasticity:traitHeight_Growth.units
## 9990.000
## traitHeight_Growth:traitBudSet2019_Plasticity.units
## 9990.000
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.units
## 9990.000
heidel.diag(gw_19_B_bs_19_P_corr$VCV)
##
## Stationarity
## test
## traitHeight_Growth:traitHeight_Growth.Population passed
## traitBudSet2019_Plasticity:traitHeight_Growth.Population passed
## traitHeight_Growth:traitBudSet2019_Plasticity.Population passed
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.Population passed
## traitHeight_Growth:traitHeight_Growth.units passed
## traitBudSet2019_Plasticity:traitHeight_Growth.units passed
## traitHeight_Growth:traitBudSet2019_Plasticity.units passed
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.units passed
##
## start
## iteration
## traitHeight_Growth:traitHeight_Growth.Population 1
## traitBudSet2019_Plasticity:traitHeight_Growth.Population 1
## traitHeight_Growth:traitBudSet2019_Plasticity.Population 1
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.Population 1
## traitHeight_Growth:traitHeight_Growth.units 1
## traitBudSet2019_Plasticity:traitHeight_Growth.units 1
## traitHeight_Growth:traitBudSet2019_Plasticity.units 1
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.units 1
##
## p-value
##
## traitHeight_Growth:traitHeight_Growth.Population 0.921
## traitBudSet2019_Plasticity:traitHeight_Growth.Population 0.601
## traitHeight_Growth:traitBudSet2019_Plasticity.Population 0.601
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.Population 0.327
## traitHeight_Growth:traitHeight_Growth.units 0.967
## traitBudSet2019_Plasticity:traitHeight_Growth.units 0.845
## traitHeight_Growth:traitBudSet2019_Plasticity.units 0.845
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.units 0.160
##
## Halfwidth
## test
## traitHeight_Growth:traitHeight_Growth.Population passed
## traitBudSet2019_Plasticity:traitHeight_Growth.Population passed
## traitHeight_Growth:traitBudSet2019_Plasticity.Population passed
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.Population passed
## traitHeight_Growth:traitHeight_Growth.units passed
## traitBudSet2019_Plasticity:traitHeight_Growth.units passed
## traitHeight_Growth:traitBudSet2019_Plasticity.units passed
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.units passed
##
## Mean
##
## traitHeight_Growth:traitHeight_Growth.Population 0.4546
## traitBudSet2019_Plasticity:traitHeight_Growth.Population 0.0772
## traitHeight_Growth:traitBudSet2019_Plasticity.Population 0.0772
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.Population 0.4150
## traitHeight_Growth:traitHeight_Growth.units 0.5717
## traitBudSet2019_Plasticity:traitHeight_Growth.units 0.0155
## traitHeight_Growth:traitBudSet2019_Plasticity.units 0.0155
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.units 0.6384
##
## Halfwidth
##
## traitHeight_Growth:traitHeight_Growth.Population 0.002204
## traitBudSet2019_Plasticity:traitHeight_Growth.Population 0.001442
## traitHeight_Growth:traitBudSet2019_Plasticity.Population 0.001442
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.Population 0.002170
## traitHeight_Growth:traitHeight_Growth.units 0.001043
## traitBudSet2019_Plasticity:traitHeight_Growth.units 0.000737
## traitHeight_Growth:traitBudSet2019_Plasticity.units 0.000737
## traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.units 0.001126
# family level correaltion
cor.test(gw_19_B_bs_19_P_corr$VCV[,"traitHeight_Growth:traitHeight_Growth.units"],gw_19_B_bs_19_P_corr$VCV[,"traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.units"]) # -0.001 ns
##
## Pearson's product-moment correlation
##
## data: gw_19_B_bs_19_P_corr$VCV[, "traitHeight_Growth:traitHeight_Growth.units"] and gw_19_B_bs_19_P_corr$VCV[, "traitBudSet2019_Plasticity:traitBudSet2019_Plasticity.units"]
## t = -0.079576, df = 9988, p-value = 0.9366
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.02040580 0.01881394
## sample estimates:
## cor
## -0.0007962361
# blups for height growth
heightGrowth_2019_2 <- heightGrowth_2019
heightGrowth_2019_2 <- heightGrowth_2019_2%>% unite(mBed, Garden, Bed, sep = "_", remove = FALSE)
HeightGrowth_2019_mod <- lmer(Growth ~ Garden + (1|mBed) + (1|Family), heightGrowth_2019_2)
# HeightGrowth_2019_blup <- coef(HeightGrowth_2019_mod)
HeightGrowth_2019_blup <- ranef(HeightGrowth_2019_mod)
HeightGrowth_2019_blup <- HeightGrowth_2019_blup$Family
HeightGrowth_2019_blup <- cbind(Family=rownames(HeightGrowth_2019_blup),HeightGrowth_2019_blup)
rownames(HeightGrowth_2019_blup) <- NULL
names(HeightGrowth_2019_blup)[2] <- "Height_Growth"
# plasticity based on budset 2019
gw_19_B_bs_19_P <- merge(x=HeightGrowth_2019_blup,
y=Plasticity[,c("Family","BudSet2019_Plasticity")],
by="Family")
# rename plasticity column if needed
# colnames(gw_19_B_bs_19_P)[colnames(gw_19_B_bs_19_P)=="BudSet2019_Plasticity"] <- "BudSet2019_Plasticity"
# remove NAs
gw_19_B_bs_19_P <- gw_19_B_bs_19_P[!is.na(gw_19_B_bs_19_P$BudSet2019_Plasticity),]
# Population column creation
gw_19_B_bs_19_P$Population <- gsub("\\_.*", "", gw_19_B_bs_19_P$Family)
# merge climateNA data
gw_19_B_bs_19_P <- merge(x=gw_19_B_bs_19_P,
y=Family_climateNA[,c("Population","PC1","MAT")],
by="Population")
# merge Region data
gw_19_B_bs_19_P <- merge(x=gw_19_B_bs_19_P,
y=heightGrowth_2019[,c("Population","Region")],
by="Population")
# reorder regions
gw_19_B_bs_19_P$Region <- factor(gw_19_B_bs_19_P$Region,levels = c("Core", "Margin", "Edge"))
gw_19_B_bs_19_P <- distinct(gw_19_B_bs_19_P)
gw_19_B_bs_19_P$Abs_P <- abs(gw_19_B_bs_19_P$BudSet2019_Plasticity)
gw_19_B_bs_19_P$Population <- as.factor(gw_19_B_bs_19_P$Population)
gw_19_B_bs_19_P_pop <- gw_19_B_bs_19_P %>%
select(Population, Height_Growth, BudSet2019_Plasticity, Region) %>%
group_by(Population) %>%
dplyr::summarise(Height_Growth = mean(Height_Growth), BudSet2019_Plasticity = mean(BudSet2019_Plasticity))
gw_19_B_bs_19_P_pop <- merge(x=gw_19_B_bs_19_P_pop,
y=Population_climateNA[,c("Population","PC1","MAT")],
by="Population")
gw_19_B_bs_19_P_pop <- merge(x=gw_19_B_bs_19_P_pop,
y=heightGrowth_2019[,c("Population","Region")],
by="Population")
# reorder regions
gw_19_B_bs_19_P_pop$Region <- factor(gw_19_B_bs_19_P_pop$Region,levels = c("Core", "Margin", "Edge"))
gw_19_B_bs_19_P_pop <- distinct(gw_19_B_bs_19_P_pop)
gw_19_B_bs_19_P_pop$Abs_P <- abs(gw_19_B_bs_19_P_pop$BudSet2019_Plasticity)
gw_19_B_bs_19_P_fam_abs_mod <- lm(Height_Growth ~ Abs_P + Region + Abs_P*Region,
data=gw_19_B_bs_19_P)
summary(gw_19_B_bs_19_P_fam_abs_mod)
##
## Call:
## lm(formula = Height_Growth ~ Abs_P + Region + Abs_P * Region,
## data = gw_19_B_bs_19_P)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.9542 -1.3474 -0.0365 1.2869 5.7789
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.9474 0.1539 -12.655 < 2e-16 ***
## Abs_P 9.6537 1.7360 5.561 3.09e-08 ***
## RegionMargin 3.7122 0.4158 8.928 < 2e-16 ***
## RegionEdge 4.1960 0.2629 15.960 < 2e-16 ***
## Abs_P:RegionMargin -3.3789 4.0442 -0.835 0.404
## Abs_P:RegionEdge -26.4111 3.1279 -8.444 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.935 on 1780 degrees of freedom
## Multiple R-squared: 0.3633, Adjusted R-squared: 0.3615
## F-statistic: 203.1 on 5 and 1780 DF, p-value: < 2.2e-16
gw_19_B_bs_19_P_pop_abs_mod <- lm(Height_Growth ~ Abs_P + Region + Abs_P*Region,
data=gw_19_B_bs_19_P_pop)
summary(gw_19_B_bs_19_P_pop_abs_mod)
##
## Call:
## lm(formula = Height_Growth ~ Abs_P + Region + Abs_P * Region,
## data = gw_19_B_bs_19_P_pop)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.5133 -0.6354 -0.1290 0.7377 3.7170
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.7971 0.7418 -3.771 0.0004 ***
## Abs_P 19.7582 9.1292 2.164 0.0348 *
## RegionMargin 4.9913 1.9672 2.537 0.0140 *
## RegionEdge 4.9814 1.1760 4.236 8.74e-05 ***
## Abs_P:RegionMargin -21.5245 20.8553 -1.032 0.3065
## Abs_P:RegionEdge -36.9101 14.4717 -2.551 0.0136 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.115 on 55 degrees of freedom
## Multiple R-squared: 0.6156, Adjusted R-squared: 0.5807
## F-statistic: 17.62 on 5 and 55 DF, p-value: 2.204e-10
# read the output
gw_20_B_bs_20_P_corr <- readRDS("./plasticity_outputs/gw_20_B_bs_20_P_corr")
# plot(gw_20_B_bs_20_P_corr)
summary(gw_20_B_bs_20_P_corr)
##
## Iterations = 10001:9999001
## Thinning interval = 1000
## Sample size = 9990
##
## DIC: 1466.658
##
## G-structure: ~us(trait):Population
##
## post.mean
## traitHeight_Growth:traitHeight_Growth.Population 0.5667
## traitBudSet2020_Plasticity:traitHeight_Growth.Population -0.0397
## traitHeight_Growth:traitBudSet2020_Plasticity.Population -0.0397
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.Population 0.5586
## l-95% CI
## traitHeight_Growth:traitHeight_Growth.Population 0.3517
## traitBudSet2020_Plasticity:traitHeight_Growth.Population -0.2143
## traitHeight_Growth:traitBudSet2020_Plasticity.Population -0.2143
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.Population 0.3343
## u-95% CI
## traitHeight_Growth:traitHeight_Growth.Population 0.8116
## traitBudSet2020_Plasticity:traitHeight_Growth.Population 0.1172
## traitHeight_Growth:traitBudSet2020_Plasticity.Population 0.1172
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.Population 0.7990
## eff.samp
## traitHeight_Growth:traitHeight_Growth.Population 9990
## traitBudSet2020_Plasticity:traitHeight_Growth.Population 9990
## traitHeight_Growth:traitBudSet2020_Plasticity.Population 9990
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.Population 10184
##
## R-structure: ~us(trait):units
##
## post.mean l-95% CI
## traitHeight_Growth:traitHeight_Growth.units 0.4354 0.3646
## traitBudSet2020_Plasticity:traitHeight_Growth.units -0.1222 -0.1780
## traitHeight_Growth:traitBudSet2020_Plasticity.units -0.1222 -0.1780
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.units 0.5040 0.4238
## u-95% CI eff.samp
## traitHeight_Growth:traitHeight_Growth.units 0.5126 10282
## traitBudSet2020_Plasticity:traitHeight_Growth.units -0.0628 9990
## traitHeight_Growth:traitBudSet2020_Plasticity.units -0.0628 9990
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.units 0.5927 9990
##
## Location effects: cbind(scale(Height_Growth), scale(BudSet2020_Plasticity)) ~ trait - 1
##
## post.mean l-95% CI u-95% CI eff.samp pMCMC
## traitHeight_Growth -0.005923 -0.208896 0.187176 10710 0.942
## traitBudSet2020_Plasticity 0.015139 -0.176074 0.220160 9990 0.884
effectiveSize(gw_20_B_bs_20_P_corr$VCV)
## traitHeight_Growth:traitHeight_Growth.Population
## 9990.00
## traitBudSet2020_Plasticity:traitHeight_Growth.Population
## 9990.00
## traitHeight_Growth:traitBudSet2020_Plasticity.Population
## 9990.00
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.Population
## 10184.25
## traitHeight_Growth:traitHeight_Growth.units
## 10281.66
## traitBudSet2020_Plasticity:traitHeight_Growth.units
## 9990.00
## traitHeight_Growth:traitBudSet2020_Plasticity.units
## 9990.00
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.units
## 9990.00
heidel.diag(gw_20_B_bs_20_P_corr$VCV)
##
## Stationarity
## test
## traitHeight_Growth:traitHeight_Growth.Population passed
## traitBudSet2020_Plasticity:traitHeight_Growth.Population passed
## traitHeight_Growth:traitBudSet2020_Plasticity.Population passed
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.Population passed
## traitHeight_Growth:traitHeight_Growth.units passed
## traitBudSet2020_Plasticity:traitHeight_Growth.units passed
## traitHeight_Growth:traitBudSet2020_Plasticity.units passed
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.units passed
##
## start
## iteration
## traitHeight_Growth:traitHeight_Growth.Population 1
## traitBudSet2020_Plasticity:traitHeight_Growth.Population 1
## traitHeight_Growth:traitBudSet2020_Plasticity.Population 1
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.Population 1
## traitHeight_Growth:traitHeight_Growth.units 1000
## traitBudSet2020_Plasticity:traitHeight_Growth.units 1
## traitHeight_Growth:traitBudSet2020_Plasticity.units 1
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.units 1
##
## p-value
##
## traitHeight_Growth:traitHeight_Growth.Population 0.812
## traitBudSet2020_Plasticity:traitHeight_Growth.Population 0.784
## traitHeight_Growth:traitBudSet2020_Plasticity.Population 0.784
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.Population 0.347
## traitHeight_Growth:traitHeight_Growth.units 0.118
## traitBudSet2020_Plasticity:traitHeight_Growth.units 0.871
## traitHeight_Growth:traitBudSet2020_Plasticity.units 0.871
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.units 0.593
##
## Halfwidth
## test
## traitHeight_Growth:traitHeight_Growth.Population passed
## traitBudSet2020_Plasticity:traitHeight_Growth.Population passed
## traitHeight_Growth:traitBudSet2020_Plasticity.Population passed
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.Population passed
## traitHeight_Growth:traitHeight_Growth.units passed
## traitBudSet2020_Plasticity:traitHeight_Growth.units passed
## traitHeight_Growth:traitBudSet2020_Plasticity.units passed
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.units passed
##
## Mean
##
## traitHeight_Growth:traitHeight_Growth.Population 0.5667
## traitBudSet2020_Plasticity:traitHeight_Growth.Population -0.0397
## traitHeight_Growth:traitBudSet2020_Plasticity.Population -0.0397
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.Population 0.5586
## traitHeight_Growth:traitHeight_Growth.units 0.4352
## traitBudSet2020_Plasticity:traitHeight_Growth.units -0.1222
## traitHeight_Growth:traitBudSet2020_Plasticity.units -0.1222
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.units 0.5040
##
## Halfwidth
##
## traitHeight_Growth:traitHeight_Growth.Population 0.002389
## traitBudSet2020_Plasticity:traitHeight_Growth.Population 0.001646
## traitHeight_Growth:traitBudSet2020_Plasticity.Population 0.001646
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.Population 0.002402
## traitHeight_Growth:traitHeight_Growth.units 0.000790
## traitBudSet2020_Plasticity:traitHeight_Growth.units 0.000578
## traitHeight_Growth:traitBudSet2020_Plasticity.units 0.000578
## traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.units 0.000852
# family level correaltion
cor.test(gw_20_B_bs_20_P_corr$VCV[,"traitHeight_Growth:traitHeight_Growth.units"],gw_20_B_bs_20_P_corr$VCV[,"traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.units"]) # 0.067***
##
## Pearson's product-moment correlation
##
## data: gw_20_B_bs_20_P_corr$VCV[, "traitHeight_Growth:traitHeight_Growth.units"] and gw_20_B_bs_20_P_corr$VCV[, "traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.units"]
## t = 6.6711, df = 9988, p-value = 2.673e-11
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.04705477 0.08610062
## sample estimates:
## cor
## 0.06660319
posterior.mode(gw_20_B_bs_20_P_corr$VCV[,"traitHeight_Growth:traitHeight_Growth.units"])
## var1
## 0.420097
HPDinterval(gw_20_B_bs_20_P_corr$VCV[,"traitHeight_Growth:traitHeight_Growth.units"])
## lower upper
## var1 0.3646309 0.5126154
## attr(,"Probability")
## [1] 0.9499499
posterior.mode(gw_20_B_bs_20_P_corr$VCV[,"traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.units"])
## var1
## 0.4905803
HPDinterval(gw_20_B_bs_20_P_corr$VCV[,"traitBudSet2020_Plasticity:traitBudSet2020_Plasticity.units"])
## lower upper
## var1 0.4237743 0.5927054
## attr(,"Probability")
## [1] 0.9499499
# blups for height growth
heightGrowth_2020_2 <- heightGrowth_2020
heightGrowth_2020_2 <- heightGrowth_2020_2 %>% unite(mBed, Garden, Bed, sep = "_", remove = FALSE)
HeightGrowth_2020_mod <- lmer(Growth ~ Garden + (1|mBed) + (1|Family), heightGrowth_2020_2)
HeightGrowth_2020_blup <- ranef(HeightGrowth_2020_mod)
HeightGrowth_2020_blup <- HeightGrowth_2020_blup$Family
HeightGrowth_2020_blup <- cbind(Family=rownames(HeightGrowth_2020_blup),HeightGrowth_2020_blup)
rownames(HeightGrowth_2020_blup) <- NULL
names(HeightGrowth_2020_blup)[2] <- "Height_Growth"
# plasticity based on budset 2020
gw_20_B_bs_20_P <- merge(x=HeightGrowth_2020_blup,
y=Plasticity[,c("Family","BudSet2020_Plasticity")],
by="Family")
# rename plasticity column if needed
colnames(gw_20_B_bs_20_P)[colnames(gw_20_B_bs_20_P)=="BudSet2020_Plasticity"] <- "BudSet2020_Plasticity"
# remove NAs
gw_20_B_bs_20_P <- gw_20_B_bs_20_P[!is.na(gw_20_B_bs_20_P$BudSet2020_Plasticity),]
# Population column creation
gw_20_B_bs_20_P$Population <- gsub("\\_.*", "", gw_20_B_bs_20_P$Family)
# merge climateNA data
gw_20_B_bs_20_P <- merge(x=gw_20_B_bs_20_P,
y=Family_climateNA[,c("Population","PC1","MAT")],
by="Population")
# merge Region data
gw_20_B_bs_20_P <- merge(x=gw_20_B_bs_20_P,
y=heightGrowth_2020[,c("Population","Region")],
by="Population")
# reorder regions
gw_20_B_bs_20_P$Region <- factor(gw_20_B_bs_20_P$Region,levels = c("Core", "Margin", "Edge"))
gw_20_B_bs_20_P <- distinct(gw_20_B_bs_20_P)
gw_20_B_bs_20_P$Abs_P <- abs(gw_20_B_bs_20_P$BudSet2020_Plasticity)
gw_20_B_bs_20_P$Population <- as.factor(gw_20_B_bs_20_P$Population)
gw_20_B_bs_20_P_pop <- gw_20_B_bs_20_P %>%
select(Population, Height_Growth, BudSet2020_Plasticity, Region) %>%
group_by(Population) %>%
dplyr::summarise(Height_Growth = mean(Height_Growth), BudSet2020_Plasticity = mean(BudSet2020_Plasticity))
gw_20_B_bs_20_P_pop <- merge(x=gw_20_B_bs_20_P_pop,
y=Population_climateNA[,c("Population","PC1","MAT")],
by="Population")
gw_20_B_bs_20_P_pop <- merge(x=gw_20_B_bs_20_P_pop,
y=heightGrowth_2019[,c("Population","Region")],
by="Population")
# reorder regions
gw_20_B_bs_20_P_pop$Region <- factor(gw_20_B_bs_20_P_pop$Region,levels = c("Core", "Margin", "Edge"))
gw_20_B_bs_20_P_pop <- distinct(gw_20_B_bs_20_P_pop)
gw_20_B_bs_20_P_pop$Abs_P <- abs(gw_20_B_bs_20_P_pop$BudSet2020_Plasticity)
gw_20_B_bs_20_P_fam_abs_mod <- lm(Height_Growth ~ Abs_P + Region + Abs_P*Region,
data=gw_20_B_bs_20_P)
summary(gw_20_B_bs_20_P_fam_abs_mod)
##
## Call:
## lm(formula = Height_Growth ~ Abs_P + Region + Abs_P * Region,
## data = gw_20_B_bs_20_P)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.8904 -1.3470 -0.0609 1.0147 9.6379
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.8486 0.5676 6.780 1.61e-11 ***
## Abs_P -37.8706 4.6212 -8.195 4.64e-16 ***
## RegionMargin 14.5006 0.9740 14.888 < 2e-16 ***
## RegionEdge -4.1839 0.6828 -6.127 1.09e-09 ***
## Abs_P:RegionMargin -84.0997 8.0058 -10.505 < 2e-16 ***
## Abs_P:RegionEdge 35.7724 5.6703 6.309 3.51e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.202 on 1839 degrees of freedom
## Multiple R-squared: 0.4495, Adjusted R-squared: 0.448
## F-statistic: 300.4 on 5 and 1839 DF, p-value: < 2.2e-16
gw_20_B_bs_20_P_pop_abs_mod <- lm(Height_Growth ~ Abs_P + Region + Abs_P*Region,
data=gw_20_B_bs_20_P_pop)
summary(gw_20_B_bs_20_P_pop_abs_mod)
##
## Call:
## lm(formula = Height_Growth ~ Abs_P + Region + Abs_P * Region,
## data = gw_20_B_bs_20_P_pop)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.4920 -0.8031 -0.0869 0.7219 3.7157
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 11.185 3.884 2.880 0.005535 **
## Abs_P -97.668 31.841 -3.067 0.003258 **
## RegionMargin 20.987 5.651 3.714 0.000455 ***
## RegionEdge -12.521 4.046 -3.095 0.003010 **
## Abs_P:RegionMargin -137.258 46.216 -2.970 0.004302 **
## Abs_P:RegionEdge 104.749 33.287 3.147 0.002587 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.2 on 59 degrees of freedom
## Multiple R-squared: 0.7312, Adjusted R-squared: 0.7085
## F-statistic: 32.11 on 5 and 59 DF, p-value: 1.197e-15
# read the output
bb_20_P_bs_20_P_corr <- readRDS("./plasticity_outputs/bb_20_P_bs_20_P_corr")
# plot(bb_20_P_bs_20_P_corr)
summary(bb_20_P_bs_20_P_corr)
##
## Iterations = 10001:9999001
## Thinning interval = 1000
## Sample size = 9990
##
## DIC: 1644.765
##
## G-structure: ~us(trait):Population
##
## post.mean l-95% CI u-95% CI
## traitBudBreak2020:traitBudBreak2020.Population 0.30276 0.15669 0.4710
## traitBudSet2020:traitBudBreak2020.Population 0.08996 -0.03732 0.2387
## traitBudBreak2020:traitBudSet2020.Population 0.08996 -0.03732 0.2387
## traitBudSet2020:traitBudSet2020.Population 0.55597 0.33130 0.8000
## eff.samp
## traitBudBreak2020:traitBudBreak2020.Population 9990
## traitBudSet2020:traitBudBreak2020.Population 9990
## traitBudBreak2020:traitBudSet2020.Population 9990
## traitBudSet2020:traitBudSet2020.Population 9990
##
## R-structure: ~us(trait):units
##
## post.mean l-95% CI u-95% CI eff.samp
## traitBudBreak2020:traitBudBreak2020.units 0.72370 0.60202 0.8484 10753
## traitBudSet2020:traitBudBreak2020.units 0.03113 -0.04304 0.1024 9990
## traitBudBreak2020:traitBudSet2020.units 0.03113 -0.04304 0.1024 9990
## traitBudSet2020:traitBudSet2020.units 0.50390 0.41947 0.5890 11572
##
## Location effects: cbind(scale(BudBreak2020), scale(BudSet2020)) ~ trait - 1
##
## post.mean l-95% CI u-95% CI eff.samp pMCMC
## traitBudBreak2020 -0.00433 -0.16311 0.16650 9990 0.965
## traitBudSet2020 0.01304 -0.18197 0.21077 9887 0.893
effectiveSize(bb_20_P_bs_20_P_corr$VCV)
## traitBudBreak2020:traitBudBreak2020.Population
## 9990.00
## traitBudSet2020:traitBudBreak2020.Population
## 9990.00
## traitBudBreak2020:traitBudSet2020.Population
## 9990.00
## traitBudSet2020:traitBudSet2020.Population
## 9990.00
## traitBudBreak2020:traitBudBreak2020.units
## 10753.28
## traitBudSet2020:traitBudBreak2020.units
## 9990.00
## traitBudBreak2020:traitBudSet2020.units
## 9990.00
## traitBudSet2020:traitBudSet2020.units
## 11572.14
heidel.diag(bb_20_P_bs_20_P_corr$VCV)
##
## Stationarity start p-value
## test iteration
## traitBudBreak2020:traitBudBreak2020.Population passed 1 0.936
## traitBudSet2020:traitBudBreak2020.Population passed 1 0.293
## traitBudBreak2020:traitBudSet2020.Population passed 1 0.293
## traitBudSet2020:traitBudSet2020.Population passed 1 0.359
## traitBudBreak2020:traitBudBreak2020.units passed 1 0.955
## traitBudSet2020:traitBudBreak2020.units passed 1 0.946
## traitBudBreak2020:traitBudSet2020.units passed 1 0.946
## traitBudSet2020:traitBudSet2020.units passed 1 0.268
##
## Halfwidth Mean Halfwidth
## test
## traitBudBreak2020:traitBudBreak2020.Population passed 0.3028 0.001615
## traitBudSet2020:traitBudBreak2020.Population passed 0.0900 0.001366
## traitBudBreak2020:traitBudSet2020.Population passed 0.0900 0.001366
## traitBudSet2020:traitBudSet2020.Population passed 0.5560 0.002418
## traitBudBreak2020:traitBudBreak2020.units passed 0.7237 0.001200
## traitBudSet2020:traitBudBreak2020.units passed 0.0311 0.000724
## traitBudBreak2020:traitBudSet2020.units passed 0.0311 0.000724
## traitBudSet2020:traitBudSet2020.units passed 0.5039 0.000794
# family level correaltion
cor.test(bb_20_P_bs_20_P_corr$VCV[,"traitBudBreak2020:traitBudBreak2020.units"],bb_20_P_bs_20_P_corr$VCV[,"traitBudSet2020:traitBudSet2020.units"])
##
## Pearson's product-moment correlation
##
## data: bb_20_P_bs_20_P_corr$VCV[, "traitBudBreak2020:traitBudBreak2020.units"] and bb_20_P_bs_20_P_corr$VCV[, "traitBudSet2020:traitBudSet2020.units"]
## t = 0.48441, df = 9988, p-value = 0.6281
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.01476429 0.02445454
## sample estimates:
## cor
## 0.004846987
# 0.005 ns
# data
bb_20_P_bs_20_P_blup <- merge(x=Plasticity[,c("Family","Pop","BudBreak2020_Plasticity")],
y=Plasticity[,c("Family","BudSet2020_Plasticity")],
by="Family")
# rename column
colnames(bb_20_P_bs_20_P_blup)[colnames(bb_20_P_bs_20_P_blup)=="Pop"] <- "Population"
colnames(bb_20_P_bs_20_P_blup)[colnames(bb_20_P_bs_20_P_blup)=="BudBreak2020_Plasticity"] <- "BudBreak2020"
colnames(bb_20_P_bs_20_P_blup)[colnames(bb_20_P_bs_20_P_blup)=="BudSet2020_Plasticity"] <- "BudSet2020"
# remove NAs
bb_20_P_bs_20_P_blup <- bb_20_P_bs_20_P_blup[!is.na(bb_20_P_bs_20_P_blup$BudBreak2020),]
bb_20_P_bs_20_P_blup <- bb_20_P_bs_20_P_blup[!is.na(bb_20_P_bs_20_P_blup$BudSet2020),]
# merge climateNA data
bb_20_P_bs_20_P_blup <- merge(x=bb_20_P_bs_20_P_blup,
y=Family_climateNA[,c("Population","PC1","MAT")],
by="Population")
# merge Region data
bb_20_P_bs_20_P_blup <- merge(x=bb_20_P_bs_20_P_blup,
y=Plasticity[,c("Pop","Region")],
by.x="Population",
by.y="Pop")
bb_20_P_bs_20_P_blup <- distinct(bb_20_P_bs_20_P_blup)
# Rename and reorder regions
bb_20_P_bs_20_P_blup$Region <- revalue(bb_20_P_bs_20_P_blup$Region, c("C"="Core", "M"="Margin", "E" = "Edge"))
bb_20_P_bs_20_P_blup$Region <- factor(bb_20_P_bs_20_P_blup$Region,levels = c("Core", "Margin", "Edge"))
bb_20_P_bs_20_P_blup$BudBreak2020_Abs_P <- abs(bb_20_P_bs_20_P_blup$BudBreak2020)
bb_20_P_bs_20_P_blup$BudSet2020_Abs_P <- abs(bb_20_P_bs_20_P_blup$BudSet2020)
bb_20_P_bs_20_P_blup$Population <- as.factor(bb_20_P_bs_20_P_blup$Population)
bb_20_P_bs_20_P_pop <- bb_20_P_bs_20_P_blup %>%
select(Population, BudBreak2020, BudSet2020, Region) %>%
group_by(Population) %>%
dplyr::summarise(BudBreak2020 = mean(BudBreak2020), BudSet2020 = mean(BudSet2020))
bb_20_P_bs_20_P_pop <- merge(x=bb_20_P_bs_20_P_pop,
y=Population_climateNA[,c("Population","PC1","MAT")],
by="Population")
bb_20_P_bs_20_P_pop <- merge(x=bb_20_P_bs_20_P_pop,
y=heightGrowth_2019[,c("Population","Region")],
by="Population")
# reorder regions
bb_20_P_bs_20_P_pop$Region <- factor(bb_20_P_bs_20_P_pop$Region,levels = c("Core", "Margin", "Edge"))
bb_20_P_bs_20_P_pop <- distinct(bb_20_P_bs_20_P_pop)
bb_20_P_bs_20_P_pop$BudBreak2020_Abs_P <- abs(bb_20_P_bs_20_P_pop$BudBreak2020)
bb_20_P_bs_20_P_pop$BudSet2020_Abs_P <- abs(bb_20_P_bs_20_P_pop$BudSet2020)
# inset
bb_20_P_bs_20_P_blup_inset <- ggplot(bb_20_P_bs_20_P_blup, aes(x = BudBreak2020, y = BudSet2020,color = "red")) +
geom_smooth(stat="smooth", method = lm, formula = y ~ x, inherit.aes = T) +
labs(x = "Bud break", y = "Bud set") +
theme_bw() + theme(axis.text=element_text(size=10),
axis.title=element_text(size=12),
legend.position = "none",
plot.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank())
# annotate_bb_20_P_bs_20_P_blup <- expression(paste("Correlation between traits: 0.005"^"ns"))
# plot
ggplot(bb_20_P_bs_20_P_blup, aes(x = BudBreak2020, y = BudSet2020, group = Population, color = PC1)) +
geom_point(aes(shape = Region), size=3, alpha = 0.7) +
scale_color_viridis(option = "A", direction = -1) +
# geom_abline(intercept = 0, slope = mean(gw_20_B_bb_20_P_fit_slope)) +
labs(x = "Plasticity of Bud break in 2020 (Family BLUP)", y = "Plasticity of Bud set in 2020 (Family BLUP)") +
theme_bw() + theme(axis.text=element_text(size=14),
axis.title=element_text(size=14,face="bold"),
legend.title = element_text(color = "black", size = 14),
legend.text = element_text(color = "black", size = 13)) #+
annotation_custom(ggplotGrob(bb_20_P_bs_20_P_blup_inset), xmin = 0.17, xmax = 0.199,
ymin = -0.01, ymax = 0.045)
## geom_custom_ann: grob = list(grobs = list(list(name = "plot.background..zeroGrob.1639", gp = NULL, vp = NULL), list(name = "NULL", gp = NULL, vp = NULL), list(width = list(list(1, list(`1` = list(1, list(widths = list(list(0, NULL, 8), list(1, list(list(1, list(label = c("0.08", "0.10", "0.12", "0.14"), x = c(1, 1, 1, 1), y = c(0.154119905445541, 0.432327590539494, 0.710535275633446, 0.988742960727398), just = "centre", hjust = 1, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.1625", gp = list(fontsize = 10,
## col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 21), list(0, NULL, 2)), 201), list(2.2, NULL, 8)), heights = 1, name = "GRID.titleGrob.1626", gp = NULL, vp = list(parent = list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = list(nrow = 1, ncol = 3, widths = list(list(0, NULL,
## 8), list(1, list(list(1, list(label = c("0.08", "0.10", "0.12", "0.14"), x = c(1, 1, 1, 1), y = c(0.154119905445541, 0.432327590539494, 0.710535275633446, 0.988742960727398), just = "centre", hjust = 1, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.1625", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 21), list(0, NULL, 2)), 201), list(2.2, NULL, 8)), heights = 1, respect = FALSE, valid.respect = 0, respect.mat = c(0,
## 0, 0), just = "centre", valid.just = c(0.5, 0.5)), layout.pos.row = NULL, layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = NULL, name = "GRID.VP.584"), children = list(list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = NULL, layout.pos.row = NULL, layout.pos.col = c(2, 2), valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = c(2, 2), name = "GRID.VP.585"))),
## children = list(GRID.text.1625 = list(label = c("0.08", "0.10", "0.12", "0.14"), x = c(1, 1, 1, 1), y = c(0.154119905445541, 0.432327590539494, 0.710535275633446, 0.988742960727398), just = "centre", hjust = 1, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.1625", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL)), childrenOrder = "GRID.text.1625"), 21), list(2.75, NULL, 8)), 201)), height = 1, xmin = NULL, ymin = NULL,
## name = "GRID.absoluteGrob.1628", gp = NULL, vp = list(x = 1, y = 0.5, width = list(list(1, list(`1` = list(1, list(widths = list(list(0, NULL, 8), list(1, list(list(1, list(label = c("0.08", "0.10", "0.12", "0.14"), x = c(1, 1, 1, 1), y = c(0.154119905445541, 0.432327590539494, 0.710535275633446, 0.988742960727398), just = "centre", hjust = 1, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.1625", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)),
## vp = NULL), 21), list(0, NULL, 2)), 201), list(2.2, NULL, 8)), heights = 1, name = "GRID.titleGrob.1626", gp = NULL, vp = list(parent = list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = list(nrow = 1, ncol = 3, widths = list(list(0, NULL, 8), list(1, list(list(1, list(label = c("0.08", "0.10", "0.12",
## "0.14"), x = c(1, 1, 1, 1), y = c(0.154119905445541, 0.432327590539494, 0.710535275633446, 0.988742960727398), just = "centre", hjust = 1, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.1625", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 21), list(0, NULL, 2)), 201), list(2.2, NULL, 8)), heights = 1, respect = FALSE, valid.respect = 0, respect.mat = c(0, 0, 0), just = "centre", valid.just = c(0.5, 0.5)), layout.pos.row = NULL,
## layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = NULL, name = "GRID.VP.584"), children = list(list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = NULL, layout.pos.row = NULL, layout.pos.col = c(2, 2), valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = c(2, 2), name = "GRID.VP.585"))), children = list(GRID.text.1625 = list(label = c("0.08",
## "0.10", "0.12", "0.14"), x = c(1, 1, 1, 1), y = c(0.154119905445541, 0.432327590539494, 0.710535275633446, 0.988742960727398), just = "centre", hjust = 1, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.1625", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL)), childrenOrder = "GRID.text.1625"), 21), list(2.75, NULL, 8)), 201)), height = 1, justification = "right", gp = list(), clip = FALSE, xscale = c(0, 1), yscale = c(0,
## 1), angle = 0, layout = NULL, layout.pos.row = NULL, layout.pos.col = NULL, valid.just = c(1, 0.5), valid.pos.row = NULL, valid.pos.col = NULL, name = "GRID.VP.586"), children = list(`NULL` = list(name = "NULL", gp = NULL, vp = NULL), axis = list(grobs = list(`1` = list(widths = list(list(0, NULL, 8), list(1, list(list(1, list(label = c("0.08", "0.10", "0.12", "0.14"), x = c(1, 1, 1, 1), y = c(0.154119905445541, 0.432327590539494, 0.710535275633446, 0.988742960727398), just = "centre", hjust = 1,
## vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.1625", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 21), list(0, NULL, 2)), 201), list(2.2, NULL, 8)), heights = 1, name = "GRID.titleGrob.1626", gp = NULL, vp = list(parent = list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), clip = FALSE, xscale = c(0,
## 1), yscale = c(0, 1), angle = 0, layout = list(nrow = 1, ncol = 3, widths = list(list(0, NULL, 8), list(1, list(list(1, list(label = c("0.08", "0.10", "0.12", "0.14"), x = c(1, 1, 1, 1), y = c(0.154119905445541, 0.432327590539494, 0.710535275633446, 0.988742960727398), just = "centre", hjust = 1, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.1625", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 21), list(0, NULL,
## 2)), 201), list(2.2, NULL, 8)), heights = 1, respect = FALSE, valid.respect = 0, respect.mat = c(0, 0, 0), just = "centre", valid.just = c(0.5, 0.5)), layout.pos.row = NULL, layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = NULL, name = "GRID.VP.584"), children = list(list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = NULL, layout.pos.row = NULL, layout.pos.col = c(2,
## 2), valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = c(2, 2), name = "GRID.VP.585"))), children = list(GRID.text.1625 = list(label = c("0.08", "0.10", "0.12", "0.14"), x = c(1, 1, 1, 1), y = c(0.154119905445541, 0.432327590539494, 0.710535275633446, 0.988742960727398), just = "centre", hjust = 1, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.1625", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL)), childrenOrder = "GRID.text.1625"),
## list(x = list(list(1, list(list(1, NULL, 0), list(-2.75, NULL, 8)), 201), list(1, NULL, 0), list(1, list(list(1, NULL, 0), list(-2.75, NULL, 8)), 201), list(1, NULL, 0), list(1, list(list(1, NULL, 0), list(-2.75, NULL, 8)), 201), list(1, NULL, 0), list(1, list(list(1, NULL, 0), list(-2.75, NULL, 8)), 201), list(1, NULL, 0)), y = c(0.154119905445541, 0.154119905445541, 0.432327590539494, 0.432327590539494, 0.710535275633446, 0.710535275633446, 0.988742960727398, 0.988742960727398), id = NULL,
## id.lengths = c(2, 2, 2, 2), arrow = NULL, name = "GRID.polyline.1627", gp = list(col = "grey20", fill = "grey20", lwd = 1.42263779527559, lty = 1, lineend = "butt"), vp = NULL)), layout = list(t = c(1, 1), l = c(1, 2), b = c(1, 1), r = c(1, 2), z = c(1, 2), clip = c("off", "off"), name = c("axis", "axis")), widths = list(`1` = list(1, list(widths = list(list(0, NULL, 8), list(1, list(list(1, list(label = c("0.08", "0.10", "0.12", "0.14"), x = c(1, 1, 1, 1), y = c(0.154119905445541, 0.432327590539494,
## 0.710535275633446, 0.988742960727398), just = "centre", hjust = 1, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.1625", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 21), list(0, NULL, 2)), 201), list(2.2, NULL, 8)), heights = 1, name = "GRID.titleGrob.1626", gp = NULL, vp = list(parent = list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(fontsize = 10, col = "grey30", fontfamily = "",
## lineheight = 0.9, font = c(plain = 1)), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = list(nrow = 1, ncol = 3, widths = list(list(0, NULL, 8), list(1, list(list(1, list(label = c("0.08", "0.10", "0.12", "0.14"), x = c(1, 1, 1, 1), y = c(0.154119905445541, 0.432327590539494, 0.710535275633446, 0.988742960727398), just = "centre", hjust = 1, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.1625", gp = list(fontsize = 10, col = "grey30", fontfamily = "",
## lineheight = 0.9, font = c(plain = 1)), vp = NULL), 21), list(0, NULL, 2)), 201), list(2.2, NULL, 8)), heights = 1, respect = FALSE, valid.respect = 0, respect.mat = c(0, 0, 0), just = "centre", valid.just = c(0.5, 0.5)), layout.pos.row = NULL, layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = NULL, name = "GRID.VP.584"), children = list(list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(), clip = FALSE, xscale = c(0, 1),
## yscale = c(0, 1), angle = 0, layout = NULL, layout.pos.row = NULL, layout.pos.col = c(2, 2), valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = c(2, 2), name = "GRID.VP.585"))), children = list(GRID.text.1625 = list(label = c("0.08", "0.10", "0.12", "0.14"), x = c(1, 1, 1, 1), y = c(0.154119905445541, 0.432327590539494, 0.710535275633446, 0.988742960727398), just = "centre", hjust = 1, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.1625", gp = list(fontsize = 10,
## col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL)), childrenOrder = "GRID.text.1625"), 21), list(2.75, NULL, 8)), heights = 1, respect = FALSE, rownames = NULL, colnames = c("1", ""), name = "axis", gp = NULL, vp = NULL, children = list(), childrenOrder = character(0))), childrenOrder = c("NULL", "axis")), list(name = "NULL", gp = NULL, vp = NULL), list(name = "NULL", gp = NULL, vp = NULL), list(name = "panel-1.gTree.1620", gp = NULL, vp = NULL, children = list(
## grill.gTree.1618 = list(name = "grill.gTree.1618", gp = NULL, vp = NULL, children = list(panel.background..zeroGrob.1613 = list(name = "panel.background..zeroGrob.1613", gp = NULL, vp = NULL), panel.grid.minor.y..zeroGrob.1614 = list(name = "panel.grid.minor.y..zeroGrob.1614", gp = NULL, vp = NULL), panel.grid.minor.x..zeroGrob.1615 = list(name = "panel.grid.minor.x..zeroGrob.1615", gp = NULL, vp = NULL), panel.grid.major.y..zeroGrob.1616 = list(name = "panel.grid.major.y..zeroGrob.1616", gp = NULL,
## vp = NULL), panel.grid.major.x..zeroGrob.1617 = list(name = "panel.grid.major.x..zeroGrob.1617", gp = NULL, vp = NULL)), childrenOrder = c("panel.background..zeroGrob.1613", "panel.grid.minor.y..zeroGrob.1614", "panel.grid.minor.x..zeroGrob.1615", "panel.grid.major.y..zeroGrob.1616", "panel.grid.major.x..zeroGrob.1617")), `NULL` = list(name = "NULL", gp = NULL, vp = NULL), geom_smooth.gTree.1609 = list(name = "geom_smooth.gTree.1609", gp = NULL, vp = NULL, children = list(geom_ribbon.gTree.1606 = list(
## name = "geom_ribbon.gTree.1606", gp = NULL, vp = NULL, children = list(GRID.polygon.1603 = list(x = c(0.0454545454545455, 0.0569620253164557, 0.0684695051783659, 0.0799769850402763, 0.0914844649021865, 0.102991944764097, 0.114499424626007, 0.126006904487917, 0.137514384349827, 0.149021864211738, 0.160529344073648, 0.172036823935558, 0.183544303797468, 0.195051783659379, 0.206559263521289, 0.218066743383199, 0.229574223245109, 0.24108170310702, 0.25258918296893, 0.26409666283084, 0.27560414269275,
## 0.287111622554661, 0.298619102416571, 0.310126582278481, 0.321634062140391, 0.333141542002302, 0.344649021864212, 0.356156501726122, 0.367663981588032, 0.379171461449942, 0.390678941311853, 0.402186421173763, 0.413693901035673, 0.425201380897583, 0.436708860759494, 0.448216340621404, 0.459723820483314, 0.471231300345224, 0.482738780207135, 0.494246260069045, 0.505753739930955, 0.517261219792865, 0.528768699654776, 0.540276179516686, 0.551783659378596, 0.563291139240506, 0.574798619102417,
## 0.586306098964327, 0.597813578826237, 0.609321058688147, 0.620828538550058, 0.632336018411968, 0.643843498273878, 0.655350978135788, 0.666858457997699, 0.678365937859609, 0.689873417721519, 0.701380897583429, 0.71288837744534, 0.72439585730725, 0.73590333716916, 0.74741081703107, 0.75891829689298, 0.770425776754891, 0.781933256616801, 0.793440736478711, 0.804948216340621, 0.816455696202532, 0.827963176064442, 0.839470655926352, 0.850978135788263, 0.862485615650173, 0.873993095512083, 0.885500575373993,
## 0.897008055235903, 0.908515535097813, 0.920023014959724, 0.931530494821634, 0.943037974683544, 0.954545454545454, 0.954545454545454, 0.943037974683544, 0.931530494821634, 0.920023014959724, 0.908515535097813, 0.897008055235903, 0.885500575373993, 0.873993095512083, 0.862485615650173, 0.850978135788263, 0.839470655926352, 0.827963176064442, 0.816455696202532, 0.804948216340621, 0.793440736478711, 0.781933256616801, 0.770425776754891, 0.75891829689298, 0.74741081703107, 0.73590333716916, 0.72439585730725,
## 0.71288837744534, 0.701380897583429, 0.689873417721519, 0.678365937859609, 0.666858457997699, 0.655350978135788, 0.643843498273878, 0.632336018411968, 0.620828538550058, 0.609321058688147, 0.597813578826237, 0.586306098964327, 0.574798619102417, 0.563291139240506, 0.551783659378596, 0.540276179516686, 0.528768699654776, 0.517261219792865, 0.505753739930955, 0.494246260069045, 0.482738780207135, 0.471231300345224, 0.459723820483314, 0.448216340621404, 0.436708860759494, 0.425201380897583,
## 0.413693901035673, 0.402186421173763, 0.390678941311853, 0.379171461449942, 0.367663981588032, 0.356156501726122, 0.344649021864212, 0.333141542002302, 0.321634062140391, 0.310126582278481, 0.298619102416571, 0.287111622554661, 0.27560414269275, 0.26409666283084, 0.25258918296893, 0.24108170310702, 0.229574223245109, 0.218066743383199, 0.206559263521289, 0.195051783659379, 0.183544303797468, 0.172036823935558, 0.160529344073648, 0.149021864211738, 0.137514384349827, 0.126006904487917, 0.114499424626007,
## 0.102991944764097, 0.0914844649021865, 0.0799769850402763, 0.0684695051783659, 0.0569620253164557, 0.0454545454545455), y = c(0.954545454545454, 0.943201944726998, 0.931867673004575, 0.920543740731621, 0.909231418321507, 0.89793217574906, 0.886647718914749, 0.875380032853289, 0.864131432775786, 0.852904623803076, 0.841702769863778, 0.830529571415141, 0.819389350133674, 0.80828713615404, 0.797228749375161, 0.786220860413585, 0.775271008919733, 0.764387548056186, 0.753579476628254, 0.742856119920233,
## 0.732226634344528, 0.72169934650711, 0.711280993704062, 0.700975994363624, 0.690785912154044, 0.680709255254917, 0.67074166799034, 0.660876460169464, 0.651105333982697, 0.641419144504495, 0.631808564002754, 0.622264581537666, 0.612778826120314, 0.603343737748056, 0.593952625130043, 0.584599648729346, 0.575279760530225, 0.565988623021004, 0.556722521978217, 0.547478281651264, 0.538253186846561, 0.529044913811379, 0.51985147028587, 0.510671144263326, 0.50150246060661, 0.492344144532845, 0.483195090983381,
## 0.474054338971527, 0.464921050105306, 0.455794490593695, 0.446674016150755, 0.437559059307145, 0.428449118721167, 0.419343750151667, 0.410242558813931, 0.401145192888551, 0.39205133799349, 0.38296071246273, 0.373873063302041, 0.364788162714706, 0.355705805108283, 0.346625804508516, 0.337547992318772, 0.328472215373555, 0.319398334242993, 0.310326221752087, 0.30125576168424, 0.292186847643337, 0.283119382052573, 0.274053275271545, 0.264988444815866, 0.25592481466588, 0.246862314652978, 0.237800879913694,
## 0.228740450403082, 0.219680970460118, 0.210622388418796, 0.201564656259493, 0.192507729295856, 0.183451565893106, 0.0454545454545455, 0.0568907374102242, 0.0683261658050163, 0.0797607890041428, 0.09119456232125, 0.102627437736715, 0.114059363584532, 0.125490284203677, 0.136920139549204, 0.148348864757647, 0.159776389660397, 0.171202638237798, 0.182627528005463, 0.194050969322989, 0.205472864613572, 0.216893107481094, 0.228311581708962, 0.239728160122174, 0.251142703290859, 0.262555058049521,
## 0.273965055801528, 0.285372510572621, 0.296777216770362, 0.308178946598031, 0.319577447061399, 0.330972436494448, 0.342363600515141, 0.35375058730407, 0.365133002076521, 0.376510400591341, 0.38788228150683, 0.399248077353648, 0.410607143845856, 0.421958747192431, 0.433302049001396, 0.44463608828606, 0.455959759987774, 0.467271789323658, 0.478570701156578, 0.489854783479825, 0.501122044033552, 0.512370159065027, 0.52359641338067, 0.534797631229878, 0.545970098389186, 0.557109477346918, 0.568210720087334,
## 0.579267987073505, 0.590274587014583, 0.601222959907923, 0.612104734764612, 0.622910900644839, 0.633632129816502, 0.644259277354054, 0.654784045447906, 0.665199743907208, 0.675502017056058, 0.685689373074048, 0.69576337562943, 0.705728443150441, 0.715591312933165, 0.725360311583574, 0.73504459551407, 0.744653490008952, 0.75419599387353, 0.763680460270382, 0.773114428849932, 0.782504570228728, 0.791856704305691, 0.801175861215482, 0.810466362634613, 0.819731909020332, 0.828975664301258, 0.838200333598228,
## 0.847408232122346, 0.856601344908328, 0.865781377856643, 0.874949800942118, 0.884107884578124, 0.893256730118097), id = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
## 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), id.lengths = NULL, name = "GRID.polygon.1603", gp = list(fill = "#99999966", col = NA, lwd = 0, lty = 1), vp = NULL), GRID.polyline.1604 = list(x = c(0.0454545454545455, 0.0569620253164557, 0.0684695051783659, 0.0799769850402763, 0.0914844649021865, 0.102991944764097, 0.114499424626007, 0.126006904487917, 0.137514384349827, 0.149021864211738, 0.160529344073648, 0.172036823935558, 0.183544303797468,
## 0.195051783659379, 0.206559263521289, 0.218066743383199, 0.229574223245109, 0.24108170310702, 0.25258918296893, 0.26409666283084, 0.27560414269275, 0.287111622554661, 0.298619102416571, 0.310126582278481, 0.321634062140391, 0.333141542002302, 0.344649021864212, 0.356156501726122, 0.367663981588032, 0.379171461449942, 0.390678941311853, 0.402186421173763, 0.413693901035673, 0.425201380897583, 0.436708860759494, 0.448216340621404, 0.459723820483314, 0.471231300345224, 0.482738780207135, 0.494246260069045,
## 0.505753739930955, 0.517261219792865, 0.528768699654776, 0.540276179516686, 0.551783659378596, 0.563291139240506, 0.574798619102417, 0.586306098964327, 0.597813578826237, 0.609321058688147, 0.620828538550058, 0.632336018411968, 0.643843498273878, 0.655350978135788, 0.666858457997699, 0.678365937859609, 0.689873417721519, 0.701380897583429, 0.71288837744534, 0.72439585730725, 0.73590333716916, 0.74741081703107, 0.75891829689298, 0.770425776754891, 0.781933256616801, 0.793440736478711, 0.804948216340621,
## 0.816455696202532, 0.827963176064442, 0.839470655926352, 0.850978135788263, 0.862485615650173, 0.873993095512083, 0.885500575373993, 0.897008055235903, 0.908515535097813, 0.920023014959724, 0.931530494821634, 0.943037974683544, 0.954545454545454, 0.954545454545454, 0.943037974683544, 0.931530494821634, 0.920023014959724, 0.908515535097813, 0.897008055235903, 0.885500575373993, 0.873993095512083, 0.862485615650173, 0.850978135788263, 0.839470655926352, 0.827963176064442, 0.816455696202532,
## 0.804948216340621, 0.793440736478711, 0.781933256616801, 0.770425776754891, 0.75891829689298, 0.74741081703107, 0.73590333716916, 0.72439585730725, 0.71288837744534, 0.701380897583429, 0.689873417721519, 0.678365937859609, 0.666858457997699, 0.655350978135788, 0.643843498273878, 0.632336018411968, 0.620828538550058, 0.609321058688147, 0.597813578826237, 0.586306098964327, 0.574798619102417, 0.563291139240506, 0.551783659378596, 0.540276179516686, 0.528768699654776, 0.517261219792865, 0.505753739930955,
## 0.494246260069045, 0.482738780207135, 0.471231300345224, 0.459723820483314, 0.448216340621404, 0.436708860759494, 0.425201380897583, 0.413693901035673, 0.402186421173763, 0.390678941311853, 0.379171461449942, 0.367663981588032, 0.356156501726122, 0.344649021864212, 0.333141542002302, 0.321634062140391, 0.310126582278481, 0.298619102416571, 0.287111622554661, 0.27560414269275, 0.26409666283084, 0.25258918296893, 0.24108170310702, 0.229574223245109, 0.218066743383199, 0.206559263521289, 0.195051783659379,
## 0.183544303797468, 0.172036823935558, 0.160529344073648, 0.149021864211738, 0.137514384349827, 0.126006904487917, 0.114499424626007, 0.102991944764097, 0.0914844649021865, 0.0799769850402763, 0.0684695051783659, 0.0569620253164557, 0.0454545454545455), y = c(0.954545454545454, 0.943201944726998, 0.931867673004575, 0.920543740731621, 0.909231418321507, 0.89793217574906, 0.886647718914749, 0.875380032853289, 0.864131432775786, 0.852904623803076, 0.841702769863778, 0.830529571415141, 0.819389350133674,
## 0.80828713615404, 0.797228749375161, 0.786220860413585, 0.775271008919733, 0.764387548056186, 0.753579476628254, 0.742856119920233, 0.732226634344528, 0.72169934650711, 0.711280993704062, 0.700975994363624, 0.690785912154044, 0.680709255254917, 0.67074166799034, 0.660876460169464, 0.651105333982697, 0.641419144504495, 0.631808564002754, 0.622264581537666, 0.612778826120314, 0.603343737748056, 0.593952625130043, 0.584599648729346, 0.575279760530225, 0.565988623021004, 0.556722521978217, 0.547478281651264,
## 0.538253186846561, 0.529044913811379, 0.51985147028587, 0.510671144263326, 0.50150246060661, 0.492344144532845, 0.483195090983381, 0.474054338971527, 0.464921050105306, 0.455794490593695, 0.446674016150755, 0.437559059307145, 0.428449118721167, 0.419343750151667, 0.410242558813931, 0.401145192888551, 0.39205133799349, 0.38296071246273, 0.373873063302041, 0.364788162714706, 0.355705805108283, 0.346625804508516, 0.337547992318772, 0.328472215373555, 0.319398334242993, 0.310326221752087, 0.30125576168424,
## 0.292186847643337, 0.283119382052573, 0.274053275271545, 0.264988444815866, 0.25592481466588, 0.246862314652978, 0.237800879913694, 0.228740450403082, 0.219680970460118, 0.210622388418796, 0.201564656259493, 0.192507729295856, 0.183451565893106, 0.0454545454545455, 0.0568907374102242, 0.0683261658050163, 0.0797607890041428, 0.09119456232125, 0.102627437736715, 0.114059363584532, 0.125490284203677, 0.136920139549204, 0.148348864757647, 0.159776389660397, 0.171202638237798, 0.182627528005463,
## 0.194050969322989, 0.205472864613572, 0.216893107481094, 0.228311581708962, 0.239728160122174, 0.251142703290859, 0.262555058049521, 0.273965055801528, 0.285372510572621, 0.296777216770362, 0.308178946598031, 0.319577447061399, 0.330972436494448, 0.342363600515141, 0.35375058730407, 0.365133002076521, 0.376510400591341, 0.38788228150683, 0.399248077353648, 0.410607143845856, 0.421958747192431, 0.433302049001396, 0.44463608828606, 0.455959759987774, 0.467271789323658, 0.478570701156578, 0.489854783479825,
## 0.501122044033552, 0.512370159065027, 0.52359641338067, 0.534797631229878, 0.545970098389186, 0.557109477346918, 0.568210720087334, 0.579267987073505, 0.590274587014583, 0.601222959907923, 0.612104734764612, 0.622910900644839, 0.633632129816502, 0.644259277354054, 0.654784045447906, 0.665199743907208, 0.675502017056058, 0.685689373074048, 0.69576337562943, 0.705728443150441, 0.715591312933165, 0.725360311583574, 0.73504459551407, 0.744653490008952, 0.75419599387353, 0.763680460270382, 0.773114428849932,
## 0.782504570228728, 0.791856704305691, 0.801175861215482, 0.810466362634613, 0.819731909020332, 0.828975664301258, 0.838200333598228, 0.847408232122346, 0.856601344908328, 0.865781377856643, 0.874949800942118, 0.884107884578124, 0.893256730118097), id = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
## 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2), id.lengths = NULL, arrow = NULL, name = "GRID.polyline.1604", gp = list(col = NA, lwd = 2.84527559055118, lty = 1), vp = NULL)), childrenOrder = c("GRID.polygon.1603", "GRID.polyline.1604")), GRID.polyline.1607 = list(x = c(0.0454545454545455, 0.0569620253164557,
## 0.0684695051783659, 0.0799769850402763, 0.0914844649021865, 0.102991944764097, 0.114499424626007, 0.126006904487917, 0.137514384349827, 0.149021864211738, 0.160529344073648, 0.172036823935558, 0.183544303797468, 0.195051783659379, 0.206559263521289, 0.218066743383199, 0.229574223245109, 0.24108170310702, 0.25258918296893, 0.26409666283084, 0.27560414269275, 0.287111622554661, 0.298619102416571, 0.310126582278481, 0.321634062140391, 0.333141542002302, 0.344649021864212, 0.356156501726122, 0.367663981588032,
## 0.379171461449942, 0.390678941311853, 0.402186421173763, 0.413693901035673, 0.425201380897583, 0.436708860759494, 0.448216340621404, 0.459723820483314, 0.471231300345224, 0.482738780207135, 0.494246260069045, 0.505753739930955, 0.517261219792865, 0.528768699654776, 0.540276179516686, 0.551783659378596, 0.563291139240506, 0.574798619102417, 0.586306098964327, 0.597813578826237, 0.609321058688147, 0.620828538550058, 0.632336018411968, 0.643843498273878, 0.655350978135788, 0.666858457997699, 0.678365937859609,
## 0.689873417721519, 0.701380897583429, 0.71288837744534, 0.72439585730725, 0.73590333716916, 0.74741081703107, 0.75891829689298, 0.770425776754891, 0.781933256616801, 0.793440736478711, 0.804948216340621, 0.816455696202532, 0.827963176064442, 0.839470655926352, 0.850978135788263, 0.862485615650173, 0.873993095512083, 0.885500575373993, 0.897008055235903, 0.908515535097813, 0.920023014959724, 0.931530494821634, 0.943037974683544, 0.954545454545454), y = c(0.923901092331776, 0.913654914652561, 0.903408736973347,
## 0.893162559294132, 0.882916381614917, 0.872670203935703, 0.862424026256488, 0.852177848577274, 0.841931670898059, 0.831685493218844, 0.82143931553963, 0.811193137860416, 0.800946960181201, 0.790700782501986, 0.780454604822772, 0.770208427143557, 0.759962249464343, 0.749716071785128, 0.739469894105914, 0.729223716426699, 0.718977538747484, 0.70873136106827, 0.698485183389055, 0.688239005709841, 0.677992828030626, 0.667746650351412, 0.657500472672197, 0.647254294992983, 0.637008117313768, 0.626761939634554,
## 0.616515761955339, 0.606269584276124, 0.59602340659691, 0.585777228917695, 0.575531051238481, 0.565284873559266, 0.555038695880051, 0.544792518200837, 0.534546340521622, 0.524300162842408, 0.514053985163193, 0.503807807483979, 0.493561629804764, 0.48331545212555, 0.473069274446335, 0.462823096767121, 0.452576919087906, 0.442330741408691, 0.432084563729477, 0.421838386050262, 0.411592208371048, 0.401346030691833, 0.391099853012619, 0.380853675333404, 0.370607497654189, 0.360361319974975, 0.35011514229576,
## 0.339868964616546, 0.329622786937331, 0.319376609258117, 0.309130431578902, 0.298884253899688, 0.288638076220473, 0.278391898541259, 0.268145720862044, 0.257899543182829, 0.247653365503615, 0.2374071878244, 0.227161010145186, 0.216914832465971, 0.206668654786757, 0.196422477107542, 0.186176299428327, 0.175930121749113, 0.165683944069898, 0.155437766390684, 0.145191588711469, 0.134945411032255, 0.12469923335304, 0.114453055673826), id = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
## 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), id.lengths = NULL, arrow = NULL, name = "GRID.polyline.1607", gp = list(col = "#F8766D", fill = "#F8766D", lwd = 2.84527559055118, lty = 1, lineend = "butt", linejoin = "round", linemitre = 10), vp = NULL)), childrenOrder = c(`11` = "geom_ribbon.gTree.1606", `12` = "GRID.polyline.1607")), `NULL` = list(name = "NULL",
## gp = NULL, vp = NULL), panel.border..rect.1611 = list(x = 0.5, y = 0.5, width = 1, height = 1, just = "centre", hjust = NULL, vjust = NULL, name = "panel.border..rect.1611", gp = list(lwd = 1.42263779527559, col = "grey20", fill = NA, lty = 1), vp = NULL)), childrenOrder = c("grill.gTree.1618", "NULL", "geom_smooth.gTree.1609", "NULL", "panel.border..rect.1611")), list(width = 1, height = list(list(1, list(list(2.75, NULL, 8), `1` = list(1, list(widths = 1, heights = list(list(2.2, NULL,
## 8), list(1, list(list(1, list(label = c("-0.3", "-0.2", "-0.1"), x = c(0.0398235723425642, 0.375602609583477, 0.71138164682439), y = c(1, 1, 1), just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE, name = "GRID.text.1621", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 22), list(0.0260416666666667, NULL, 2)), 201), list(0, NULL, 8)), name = "GRID.titleGrob.1622", gp = NULL, vp = list(parent = list(x = 0.5, y = 0.5,
## width = 1, height = 1, justification = "centre", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = list(nrow = 3, ncol = 1, widths = 1, heights = list(list(2.2, NULL, 8), list(1, list(list(1, list(label = c("-0.3", "-0.2", "-0.1"), x = c(0.0398235723425642, 0.375602609583477, 0.71138164682439), y = c(1, 1, 1), just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE,
## name = "GRID.text.1621", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 22), list(0.0260416666666667, NULL, 2)), 201), list(0, NULL, 8)), respect = FALSE, valid.respect = 0, respect.mat = c(0, 0, 0), just = "centre", valid.just = c(0.5, 0.5)), layout.pos.row = NULL, layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = NULL, name = "GRID.VP.581"), children = list(list(x = 0.5, y = 0.5, width = 1,
## height = 1, justification = "centre", gp = list(), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = NULL, layout.pos.row = c(2, 2), layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = c(2, 2), valid.pos.col = NULL, name = "GRID.VP.582"))), children = list(GRID.text.1621 = list(label = c("-0.3", "-0.2", "-0.1"), x = c(0.0398235723425642, 0.375602609583477, 0.71138164682439), y = c(1, 1, 1), just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE,
## name = "GRID.text.1621", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL)), childrenOrder = "GRID.text.1621"), 22)), 201)), xmin = NULL, ymin = NULL, name = "GRID.absoluteGrob.1624", gp = NULL, vp = list(x = 0.5, y = 1, width = 1, height = list(list(1, list(list(2.75, NULL, 8), `1` = list(1, list(widths = 1, heights = list(list(2.2, NULL, 8), list(1, list(list(1, list(label = c("-0.3", "-0.2", "-0.1"), x = c(0.0398235723425642, 0.375602609583477,
## 0.71138164682439), y = c(1, 1, 1), just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE, name = "GRID.text.1621", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 22), list(0.0260416666666667, NULL, 2)), 201), list(0, NULL, 8)), name = "GRID.titleGrob.1622", gp = NULL, vp = list(parent = list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9,
## font = c(plain = 1)), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = list(nrow = 3, ncol = 1, widths = 1, heights = list(list(2.2, NULL, 8), list(1, list(list(1, list(label = c("-0.3", "-0.2", "-0.1"), x = c(0.0398235723425642, 0.375602609583477, 0.71138164682439), y = c(1, 1, 1), just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE, name = "GRID.text.1621", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)),
## vp = NULL), 22), list(0.0260416666666667, NULL, 2)), 201), list(0, NULL, 8)), respect = FALSE, valid.respect = 0, respect.mat = c(0, 0, 0), just = "centre", valid.just = c(0.5, 0.5)), layout.pos.row = NULL, layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = NULL, name = "GRID.VP.581"), children = list(list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = NULL,
## layout.pos.row = c(2, 2), layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = c(2, 2), valid.pos.col = NULL, name = "GRID.VP.582"))), children = list(GRID.text.1621 = list(label = c("-0.3", "-0.2", "-0.1"), x = c(0.0398235723425642, 0.375602609583477, 0.71138164682439), y = c(1, 1, 1), just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE, name = "GRID.text.1621", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL)),
## childrenOrder = "GRID.text.1621"), 22)), 201)), justification = "top", gp = list(), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = NULL, layout.pos.row = NULL, layout.pos.col = NULL, valid.just = c(0.5, 1), valid.pos.row = NULL, valid.pos.col = NULL, name = "GRID.VP.583"), children = list(`NULL` = list(name = "NULL", gp = NULL, vp = NULL), axis = list(grobs = list(list(x = c(0.0398235723425642, 0.0398235723425642, 0.375602609583477, 0.375602609583477, 0.71138164682439,
## 0.71138164682439), y = list(list(1, list(list(1, NULL, 0), list(-2.75, NULL, 8)), 201), list(1, NULL, 0), list(1, list(list(1, NULL, 0), list(-2.75, NULL, 8)), 201), list(1, NULL, 0), list(1, list(list(1, NULL, 0), list(-2.75, NULL, 8)), 201), list(1, NULL, 0)), id = NULL, id.lengths = c(2, 2, 2), arrow = NULL, name = "GRID.polyline.1623", gp = list(col = "grey20", fill = "grey20", lwd = 1.42263779527559, lty = 1, lineend = "butt"), vp = NULL), `1` = list(widths = 1, heights = list(list(2.2, NULL,
## 8), list(1, list(list(1, list(label = c("-0.3", "-0.2", "-0.1"), x = c(0.0398235723425642, 0.375602609583477, 0.71138164682439), y = c(1, 1, 1), just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE, name = "GRID.text.1621", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 22), list(0.0260416666666667, NULL, 2)), 201), list(0, NULL, 8)), name = "GRID.titleGrob.1622", gp = NULL, vp = list(parent = list(x = 0.5, y = 0.5,
## width = 1, height = 1, justification = "centre", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = list(nrow = 3, ncol = 1, widths = 1, heights = list(list(2.2, NULL, 8), list(1, list(list(1, list(label = c("-0.3", "-0.2", "-0.1"), x = c(0.0398235723425642, 0.375602609583477, 0.71138164682439), y = c(1, 1, 1), just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE,
## name = "GRID.text.1621", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 22), list(0.0260416666666667, NULL, 2)), 201), list(0, NULL, 8)), respect = FALSE, valid.respect = 0, respect.mat = c(0, 0, 0), just = "centre", valid.just = c(0.5, 0.5)), layout.pos.row = NULL, layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = NULL, name = "GRID.VP.581"), children = list(list(x = 0.5, y = 0.5, width = 1,
## height = 1, justification = "centre", gp = list(), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = NULL, layout.pos.row = c(2, 2), layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = c(2, 2), valid.pos.col = NULL, name = "GRID.VP.582"))), children = list(GRID.text.1621 = list(label = c("-0.3", "-0.2", "-0.1"), x = c(0.0398235723425642, 0.375602609583477, 0.71138164682439), y = c(1, 1, 1), just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE,
## name = "GRID.text.1621", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL)), childrenOrder = "GRID.text.1621")), layout = list(t = c(1, 2), l = c(1, 1), b = c(1, 2), r = c(1, 1), z = c(1, 2), clip = c("off", "off"), name = c("axis", "axis")), widths = 1, heights = list(list(2.75, NULL, 8), `1` = list(1, list(widths = 1, heights = list(list(2.2, NULL, 8), list(1, list(list(1, list(label = c("-0.3", "-0.2", "-0.1"), x = c(0.0398235723425642,
## 0.375602609583477, 0.71138164682439), y = c(1, 1, 1), just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE, name = "GRID.text.1621", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 22), list(0.0260416666666667, NULL, 2)), 201), list(0, NULL, 8)), name = "GRID.titleGrob.1622", gp = NULL, vp = list(parent = list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(fontsize = 10, col = "grey30",
## fontfamily = "", lineheight = 0.9, font = c(plain = 1)), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = list(nrow = 3, ncol = 1, widths = 1, heights = list(list(2.2, NULL, 8), list(1, list(list(1, list(label = c("-0.3", "-0.2", "-0.1"), x = c(0.0398235723425642, 0.375602609583477, 0.71138164682439), y = c(1, 1, 1), just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE, name = "GRID.text.1621", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9,
## font = c(plain = 1)), vp = NULL), 22), list(0.0260416666666667, NULL, 2)), 201), list(0, NULL, 8)), respect = FALSE, valid.respect = 0, respect.mat = c(0, 0, 0), just = "centre", valid.just = c(0.5, 0.5)), layout.pos.row = NULL, layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = NULL, name = "GRID.VP.581"), children = list(list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0,
## layout = NULL, layout.pos.row = c(2, 2), layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = c(2, 2), valid.pos.col = NULL, name = "GRID.VP.582"))), children = list(GRID.text.1621 = list(label = c("-0.3", "-0.2", "-0.1"), x = c(0.0398235723425642, 0.375602609583477, 0.71138164682439), y = c(1, 1, 1), just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE, name = "GRID.text.1621", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)),
## vp = NULL)), childrenOrder = "GRID.text.1621"), 22)), respect = FALSE, rownames = c("", "1"), colnames = NULL, name = "axis", gp = NULL, vp = NULL, children = list(), childrenOrder = character(0))), childrenOrder = c("NULL", "axis")), list(name = "NULL", gp = NULL, vp = NULL), list(name = "NULL", gp = NULL, vp = NULL), list(name = "NULL", gp = NULL, vp = NULL), list(name = "NULL", gp = NULL, vp = NULL), list(widths = 1, heights = list(list(2.75, NULL, 8), list(1, list(list(1, list(label = "Bud break",
## x = 0.5, y = 1, just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE, name = "GRID.text.1629", gp = list(fontsize = 12, col = "black", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 22), list(0.03125, NULL, 2)), 201), list(0, NULL, 8)), name = "axis.title.x.bottom..titleGrob.1631", gp = NULL, vp = list(parent = list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(fontsize = 12, col = "black", fontfamily = "", lineheight = 0.9,
## font = c(plain = 1)), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = list(nrow = 3, ncol = 1, widths = 1, heights = list(list(2.75, NULL, 8), list(1, list(list(1, list(label = "Bud break", x = 0.5, y = 1, just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE, name = "GRID.text.1629", gp = list(fontsize = 12, col = "black", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 22), list(0.03125, NULL, 2)), 201), list(0, NULL, 8)), respect = FALSE,
## valid.respect = 0, respect.mat = c(0, 0, 0), just = "centre", valid.just = c(0.5, 0.5)), layout.pos.row = NULL, layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = NULL, name = "GRID.VP.587"), children = list(list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = NULL, layout.pos.row = c(2, 2), layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = c(2,
## 2), valid.pos.col = NULL, name = "GRID.VP.588"))), children = list(GRID.text.1629 = list(label = "Bud break", x = 0.5, y = 1, just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE, name = "GRID.text.1629", gp = list(fontsize = 12, col = "black", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL)), childrenOrder = "GRID.text.1629"), list(widths = list(list(0, NULL, 8), list(1, list(list(1, list(label = "Bud set", x = 0, y = 0.5, just = "centre", hjust = 0.5, vjust = 1,
## rot = 90, check.overlap = FALSE, name = "GRID.text.1632", gp = list(fontsize = 12, col = "black", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 21), list(0.03125, NULL, 2)), 201), list(2.75, NULL, 8)), heights = 1, name = "axis.title.y.left..titleGrob.1634", gp = NULL, vp = list(parent = list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(fontsize = 12, col = "black", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), clip = FALSE, xscale = c(0,
## 1), yscale = c(0, 1), angle = 0, layout = list(nrow = 1, ncol = 3, widths = list(list(0, NULL, 8), list(1, list(list(1, list(label = "Bud set", x = 0, y = 0.5, just = "centre", hjust = 0.5, vjust = 1, rot = 90, check.overlap = FALSE, name = "GRID.text.1632", gp = list(fontsize = 12, col = "black", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 21), list(0.03125, NULL, 2)), 201), list(2.75, NULL, 8)), heights = 1, respect = FALSE, valid.respect = 0, respect.mat = c(0, 0, 0),
## just = "centre", valid.just = c(0.5, 0.5)), layout.pos.row = NULL, layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = NULL, name = "GRID.VP.589"), children = list(list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = NULL, layout.pos.row = NULL, layout.pos.col = c(2, 2), valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = c(2, 2), name = "GRID.VP.590"))),
## children = list(GRID.text.1632 = list(label = "Bud set", x = 0, y = 0.5, just = "centre", hjust = 0.5, vjust = 1, rot = 90, check.overlap = FALSE, name = "GRID.text.1632", gp = list(fontsize = 12, col = "black", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL)), childrenOrder = "GRID.text.1632"), list(name = "NULL", gp = NULL, vp = NULL), list(name = "plot.subtitle..zeroGrob.1636", gp = NULL, vp = NULL), list(name = "plot.title..zeroGrob.1635", gp = NULL, vp = NULL), list(name = "plot.caption..zeroGrob.1638",
## gp = NULL, vp = NULL), list(name = "plot.tag..zeroGrob.1637", gp = NULL, vp = NULL)), layout = list(t = c(1, 6, 7, 8, 6, 7, 8, 6, 7, 8, 5, 9, 7, 7, 4, 3, 10, 2), l = c(1, 4, 4, 4, 5, 5, 5, 6, 6, 6, 5, 5, 3, 7, 5, 5, 5, 2), b = c(12, 6, 7, 8, 6, 7, 8, 6, 7, 8, 5, 9, 7, 7, 4, 3, 10, 2), r = c(9, 4, 4, 4, 5, 5, 5, 6, 6, 6, 5, 5, 3, 7, 5, 5, 5, 2), z = c(0, 5, 7, 3, 6, 1, 9, 4, 8, 2, 10, 11, 12, 13, 14, 15, 16, 17), clip = c("on", "off", "off", "off", "off", "on", "off", "off", "off", "off", "off",
## "off", "off", "off", "off", "off", "off", "off"), name = c("background", "spacer", "axis-l", "spacer", "axis-t", "panel", "axis-b", "spacer", "axis-r", "spacer", "xlab-t", "xlab-b", "ylab-l", "ylab-r", "subtitle", "title", "caption", "tag")), widths = list(list(5.5, NULL, 8), list(0, NULL, 1), list(1, list(widths = list(list(0, NULL, 8), list(1, list(list(1, list(label = "Bud set", x = 0, y = 0.5, just = "centre", hjust = 0.5, vjust = 1, rot = 90, check.overlap = FALSE, name = "GRID.text.1632", gp = list(
## fontsize = 12, col = "black", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 21), list(0.03125, NULL, 2)), 201), list(2.75, NULL, 8)), heights = 1, name = "axis.title.y.left..titleGrob.1634", gp = NULL, vp = list(parent = list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(fontsize = 12, col = "black", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = list(nrow = 1,
## ncol = 3, widths = list(list(0, NULL, 8), list(1, list(list(1, list(label = "Bud set", x = 0, y = 0.5, just = "centre", hjust = 0.5, vjust = 1, rot = 90, check.overlap = FALSE, name = "GRID.text.1632", gp = list(fontsize = 12, col = "black", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 21), list(0.03125, NULL, 2)), 201), list(2.75, NULL, 8)), heights = 1, respect = FALSE, valid.respect = 0, respect.mat = c(0, 0, 0), just = "centre", valid.just = c(0.5, 0.5)), layout.pos.row = NULL,
## layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = NULL, name = "GRID.VP.589"), children = list(list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = NULL, layout.pos.row = NULL, layout.pos.col = c(2, 2), valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = c(2, 2), name = "GRID.VP.590"))), children = list(GRID.text.1632 = list(label = "Bud set",
## x = 0, y = 0.5, just = "centre", hjust = 0.5, vjust = 1, rot = 90, check.overlap = FALSE, name = "GRID.text.1632", gp = list(fontsize = 12, col = "black", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL)), childrenOrder = "GRID.text.1632"), 21), list(1, list(`1` = list(1, list(widths = list(list(0, NULL, 8), list(1, list(list(1, list(label = c("0.08", "0.10", "0.12", "0.14"), x = c(1, 1, 1, 1), y = c(0.154119905445541, 0.432327590539494, 0.710535275633446, 0.988742960727398
## ), just = "centre", hjust = 1, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.1625", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 21), list(0, NULL, 2)), 201), list(2.2, NULL, 8)), heights = 1, name = "GRID.titleGrob.1626", gp = NULL, vp = list(parent = list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)),
## clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = list(nrow = 1, ncol = 3, widths = list(list(0, NULL, 8), list(1, list(list(1, list(label = c("0.08", "0.10", "0.12", "0.14"), x = c(1, 1, 1, 1), y = c(0.154119905445541, 0.432327590539494, 0.710535275633446, 0.988742960727398), just = "centre", hjust = 1, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.1625", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL),
## 21), list(0, NULL, 2)), 201), list(2.2, NULL, 8)), heights = 1, respect = FALSE, valid.respect = 0, respect.mat = c(0, 0, 0), just = "centre", valid.just = c(0.5, 0.5)), layout.pos.row = NULL, layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = NULL, name = "GRID.VP.584"), children = list(list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = NULL, layout.pos.row = NULL,
## layout.pos.col = c(2, 2), valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = c(2, 2), name = "GRID.VP.585"))), children = list(GRID.text.1625 = list(label = c("0.08", "0.10", "0.12", "0.14"), x = c(1, 1, 1, 1), y = c(0.154119905445541, 0.432327590539494, 0.710535275633446, 0.988742960727398), just = "centre", hjust = 1, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.1625", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)),
## vp = NULL)), childrenOrder = "GRID.text.1625"), 21), list(2.75, NULL, 8)), 201), list(1, NULL, 5), list(0, NULL, 1), list(0, NULL, 1), list(0, NULL, 8), list(5.5, NULL, 8)), heights = list(list(5.5, NULL, 8), list(0, NULL, 1), list(0, NULL, 1), list(0, NULL, 1), list(0, NULL, 1), list(0, NULL, 1), list(1, NULL, 5), list(1, list(list(2.75, NULL, 8), `1` = list(1, list(widths = 1, heights = list(list(2.2, NULL, 8), list(1, list(list(1, list(label = c("-0.3", "-0.2", "-0.1"), x = c(0.0398235723425642,
## 0.375602609583477, 0.71138164682439), y = c(1, 1, 1), just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE, name = "GRID.text.1621", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 22), list(0.0260416666666667, NULL, 2)), 201), list(0, NULL, 8)), name = "GRID.titleGrob.1622", gp = NULL, vp = list(parent = list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(fontsize = 10, col = "grey30",
## fontfamily = "", lineheight = 0.9, font = c(plain = 1)), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = list(nrow = 3, ncol = 1, widths = 1, heights = list(list(2.2, NULL, 8), list(1, list(list(1, list(label = c("-0.3", "-0.2", "-0.1"), x = c(0.0398235723425642, 0.375602609583477, 0.71138164682439), y = c(1, 1, 1), just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE, name = "GRID.text.1621", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9,
## font = c(plain = 1)), vp = NULL), 22), list(0.0260416666666667, NULL, 2)), 201), list(0, NULL, 8)), respect = FALSE, valid.respect = 0, respect.mat = c(0, 0, 0), just = "centre", valid.just = c(0.5, 0.5)), layout.pos.row = NULL, layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = NULL, name = "GRID.VP.581"), children = list(list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0,
## layout = NULL, layout.pos.row = c(2, 2), layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = c(2, 2), valid.pos.col = NULL, name = "GRID.VP.582"))), children = list(GRID.text.1621 = list(label = c("-0.3", "-0.2", "-0.1"), x = c(0.0398235723425642, 0.375602609583477, 0.71138164682439), y = c(1, 1, 1), just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE, name = "GRID.text.1621", gp = list(fontsize = 10, col = "grey30", fontfamily = "", lineheight = 0.9, font = c(plain = 1)),
## vp = NULL)), childrenOrder = "GRID.text.1621"), 22)), 201), list(1, list(widths = 1, heights = list(list(2.75, NULL, 8), list(1, list(list(1, list(label = "Bud break", x = 0.5, y = 1, just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE, name = "GRID.text.1629", gp = list(fontsize = 12, col = "black", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 22), list(0.03125, NULL, 2)), 201), list(0, NULL, 8)), name = "axis.title.x.bottom..titleGrob.1631", gp = NULL,
## vp = list(parent = list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(fontsize = 12, col = "black", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = list(nrow = 3, ncol = 1, widths = 1, heights = list(list(2.75, NULL, 8), list(1, list(list(1, list(label = "Bud break", x = 0.5, y = 1, just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE, name = "GRID.text.1629", gp = list(
## fontsize = 12, col = "black", fontfamily = "", lineheight = 0.9, font = c(plain = 1)), vp = NULL), 22), list(0.03125, NULL, 2)), 201), list(0, NULL, 8)), respect = FALSE, valid.respect = 0, respect.mat = c(0, 0, 0), just = "centre", valid.just = c(0.5, 0.5)), layout.pos.row = NULL, layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = NULL, name = "GRID.VP.587"), children = list(list(x = 0.5, y = 0.5, width = 1, height = 1, justification = "centre", gp = list(),
## clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = NULL, layout.pos.row = c(2, 2), layout.pos.col = NULL, valid.just = c(0.5, 0.5), valid.pos.row = c(2, 2), valid.pos.col = NULL, name = "GRID.VP.588"))), children = list(GRID.text.1629 = list(label = "Bud break", x = 0.5, y = 1, just = "centre", hjust = 0.5, vjust = 1, rot = 0, check.overlap = FALSE, name = "GRID.text.1629", gp = list(fontsize = 12, col = "black", fontfamily = "", lineheight = 0.9, font = c(plain = 1)),
## vp = NULL)), childrenOrder = "GRID.text.1629"), 22), list(0, NULL, 1), list(0, NULL, 8), list(5.5, NULL, 8)), respect = FALSE, rownames = NULL, colnames = NULL, name = "layout", gp = NULL, vp = NULL, children = list(), childrenOrder = character(0)), xmin = 0.17, xmax = 0.199, ymin = -0.01, ymax = 0.045
## stat_identity: na.rm = FALSE
## position_identity
# annotate("text", label = annotate_bb_20_P_bs_20_P_blup, x = 0.25, y = 0.0)
ggplot(bb_20_P_bs_20_P_pop, aes(x = BudBreak2020, y = BudSet2020, color = PC1)) +
geom_point(aes(shape = Region), size=3, alpha = 1) +
scale_color_viridis(option = "A", direction = -1) +
labs(x = "Plasticity of Bud break in 2020 (Population BLUP)", y = "Plasticity of Bud set in 2020 (Population BLUP)") +
theme_bw() + theme(axis.text=element_text(size=14),
axis.title=element_text(size=14,face="bold"),
legend.title = element_text(color = "black", size = 14),
legend.text = element_text(color = "black", size = 13))
# read the output
bb_20_P_bs_19_P_corr <- readRDS("./plasticity_outputs/bb_20_P_bs_19_P_corr")
# plot(bb_20_P_bs_19_P_corr)
summary(bb_20_P_bs_19_P_corr)
##
## Iterations = 10001:9999001
## Thinning interval = 1000
## Sample size = 9990
##
## DIC: 1627.095
##
## G-structure: ~us(trait):Population
##
## post.mean l-95% CI u-95% CI
## traitBudBreak2020:traitBudBreak2020.Population 0.3212 0.16628 0.5056
## traitBudSet2019:traitBudBreak2020.Population 0.1434 0.01885 0.2827
## traitBudBreak2020:traitBudSet2019.Population 0.1434 0.01885 0.2827
## traitBudSet2019:traitBudSet2019.Population 0.4102 0.22769 0.6189
## eff.samp
## traitBudBreak2020:traitBudBreak2020.Population 9990
## traitBudSet2019:traitBudBreak2020.Population 9521
## traitBudBreak2020:traitBudSet2019.Population 9521
## traitBudSet2019:traitBudSet2019.Population 9655
##
## R-structure: ~us(trait):units
##
## post.mean l-95% CI u-95% CI eff.samp
## traitBudBreak2020:traitBudBreak2020.units 0.70936 0.58770 0.83545 9990
## traitBudSet2019:traitBudBreak2020.units -0.01278 -0.09877 0.06975 9990
## traitBudBreak2020:traitBudSet2019.units -0.01278 -0.09877 0.06975 9990
## traitBudSet2019:traitBudSet2019.units 0.63846 0.52792 0.75013 10296
##
## Location effects: cbind(scale(BudBreak2020), scale(BudSet2019)) ~ trait - 1
##
## post.mean l-95% CI u-95% CI eff.samp pMCMC
## traitBudBreak2020 -0.01424 -0.17003 0.17035 9990 0.882
## traitBudSet2019 -0.02154 -0.21859 0.15076 9990 0.804
effectiveSize(bb_20_P_bs_19_P_corr$VCV)
## traitBudBreak2020:traitBudBreak2020.Population
## 9990.000
## traitBudSet2019:traitBudBreak2020.Population
## 9521.491
## traitBudBreak2020:traitBudSet2019.Population
## 9521.491
## traitBudSet2019:traitBudSet2019.Population
## 9655.076
## traitBudBreak2020:traitBudBreak2020.units
## 9990.000
## traitBudSet2019:traitBudBreak2020.units
## 9990.000
## traitBudBreak2020:traitBudSet2019.units
## 9990.000
## traitBudSet2019:traitBudSet2019.units
## 10295.783
heidel.diag(bb_20_P_bs_19_P_corr$VCV)
##
## Stationarity start p-value
## test iteration
## traitBudBreak2020:traitBudBreak2020.Population passed 1 0.791
## traitBudSet2019:traitBudBreak2020.Population passed 1 0.214
## traitBudBreak2020:traitBudSet2019.Population passed 1 0.214
## traitBudSet2019:traitBudSet2019.Population passed 1 0.575
## traitBudBreak2020:traitBudBreak2020.units passed 1 0.198
## traitBudSet2019:traitBudBreak2020.units passed 1 0.248
## traitBudBreak2020:traitBudSet2019.units passed 1 0.248
## traitBudSet2019:traitBudSet2019.units passed 1 0.993
##
## Halfwidth Mean Halfwidth
## test
## traitBudBreak2020:traitBudBreak2020.Population passed 0.3212 0.001748
## traitBudSet2019:traitBudBreak2020.Population passed 0.1434 0.001359
## traitBudBreak2020:traitBudSet2019.Population passed 0.1434 0.001359
## traitBudSet2019:traitBudSet2019.Population passed 0.4102 0.002082
## traitBudBreak2020:traitBudBreak2020.units passed 0.7094 0.001253
## traitBudSet2019:traitBudBreak2020.units passed -0.0128 0.000838
## traitBudBreak2020:traitBudSet2019.units passed -0.0128 0.000838
## traitBudSet2019:traitBudSet2019.units passed 0.6385 0.001109
# family level correaltion
cor.test(bb_20_P_bs_19_P_corr$VCV[,"traitBudBreak2020:traitBudBreak2020.units"],bb_20_P_bs_19_P_corr$VCV[,"traitBudSet2019:traitBudSet2019.units"])
##
## Pearson's product-moment correlation
##
## data: bb_20_P_bs_19_P_corr$VCV[, "traitBudBreak2020:traitBudBreak2020.units"] and bb_20_P_bs_19_P_corr$VCV[, "traitBudSet2019:traitBudSet2019.units"]
## t = -0.11425, df = 9988, p-value = 0.909
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.02075259 0.01846712
## sample estimates:
## cor
## -0.001143173
# -0.001 ns
# data
bb_20_P_bs_19_P_blup <- merge(x=Plasticity[,c("Family","Pop","BudBreak2020_Plasticity")],
y=Plasticity[,c("Family","BudSet2019_Plasticity")],
by="Family")
# rename column
colnames(bb_20_P_bs_19_P_blup)[colnames(bb_20_P_bs_19_P_blup)=="Pop"] <- "Population"
colnames(bb_20_P_bs_19_P_blup)[colnames(bb_20_P_bs_19_P_blup)=="BudBreak2020_Plasticity"] <- "BudBreak2020"
colnames(bb_20_P_bs_19_P_blup)[colnames(bb_20_P_bs_19_P_blup)=="BudSet2019_Plasticity"] <- "BudSet2019"
# remove NAs
bb_20_P_bs_19_P_blup <- bb_20_P_bs_19_P_blup[!is.na(bb_20_P_bs_19_P_blup$BudBreak2020),]
bb_20_P_bs_19_P_blup <- bb_20_P_bs_19_P_blup[!is.na(bb_20_P_bs_19_P_blup$BudSet2019),]
# merge climateNA data
bb_20_P_bs_19_P_blup <- merge(x=bb_20_P_bs_19_P_blup,
y=Family_climateNA[,c("Population","PC1","MAT")],
by="Population")
# merge Region data
bb_20_P_bs_19_P_blup <- merge(x=bb_20_P_bs_19_P_blup,
y=Plasticity[,c("Pop","Region")],
by.x="Population",
by.y="Pop")
bb_20_P_bs_19_P_blup <- distinct(bb_20_P_bs_19_P_blup)
# Rename and reorder regions
bb_20_P_bs_19_P_blup$Region <- revalue(bb_20_P_bs_19_P_blup$Region, c("C"="Core", "M"="Margin", "E" = "Edge"))
bb_20_P_bs_19_P_blup$Region <- factor(bb_20_P_bs_19_P_blup$Region,levels = c("Core", "Margin", "Edge"))
bb_20_P_bs_19_P_blup$Population <- as.factor(bb_20_P_bs_19_P_blup$Population)
bb_20_P_bs_19_P_pop <- bb_20_P_bs_19_P_blup %>%
select(Population, BudBreak2020, BudSet2019, Region) %>%
group_by(Population) %>%
dplyr::summarise(BudBreak2020 = mean(BudBreak2020), BudSet2019 = mean(BudSet2019))
bb_20_P_bs_19_P_pop <- merge(x=bb_20_P_bs_19_P_pop,
y=Population_climateNA[,c("Population","PC1","MAT")],
by="Population")
bb_20_P_bs_19_P_pop <- merge(x=bb_20_P_bs_19_P_pop,
y=heightGrowth_2019[,c("Population","Region")],
by="Population")
# reorder regions
bb_20_P_bs_19_P_pop$Region <- factor(bb_20_P_bs_19_P_pop$Region,levels = c("Core", "Margin", "Edge"))
bb_20_P_bs_19_P_pop <- distinct(bb_20_P_bs_19_P_pop)
# annotate_bb_20_P_bs_19_P_blup <- expression(paste("Correlation between traits: -0.001"^"ns"))
# plot
ggplot(bb_20_P_bs_19_P_blup, aes(x = BudSet2019, y = BudBreak2020, group = Population, color = PC1)) +
geom_point(aes(shape = Region), size=3) +
scale_color_viridis(option = "A", direction = -1) +
# geom_abline(intercept = 0, slope = mean(gw_20_B_bb_20_P_fit_slope)) +
labs(x = "Plasticity of Bud set in 2019 (Family BLUP)", y = "Plasticity of Bud break in 2020 (Family BLUP)") +
theme_bw() + theme(axis.text=element_text(size=14),
axis.title=element_text(size=14,face="bold"),
legend.title = element_text(color = "black", size = 14),
legend.text = element_text(color = "black", size = 13)) #+
# annotate("text", label = annotate_bb_20_P_bs_19_P_blup, x = -0.04, y = 0.173)
ggplot(bb_20_P_bs_19_P_pop, aes(x = BudSet2019, y = BudBreak2020, color = PC1)) +
geom_point(aes(shape = Region), size=3) +
scale_color_viridis(option = "A", direction = -1) +
labs(x = "Plasticity of Bud set in 2019 (Population BLUP)", y = "Plasticity of Bud break in 2020 (Population BLUP)") +
theme_bw() + theme(axis.text=element_text(size=14),
axis.title=element_text(size=14,face="bold"),
legend.title = element_text(color = "black", size = 14),
legend.text = element_text(color = "black", size = 13))